Cùng một đoạn mã nhưng chạy trên IDE khác nhau lại cho kết quả khác nhau, TẠI SAO?

Xin chào mọi người, em mới học lập trình mấy ngày mà đã gặp vài trường hợp:

Cụ thể cùng một đoạn mã:

#include <stdio.h>
main()
{
    int a=6;
    float b=5.3;
    float x=a*b, y=a+b;
    printf("\na=%10.2f,\nb=%10.2f,\nx=%10.2f,\ny=%10.2f", a,b,x,y);
}

Dù đã cố sức tìm hiểu mà vẫn không thông, vậy các bậc tiền bối cho em hỏi tại sao ạ?

1 Like

int thì phải đọc bằng "%d" :smiley:

Mà bạn có đang chỉnh TDM-GCC bên CB ko nhỉ?

2 Likes

Em không biết TDM-GCC là cái gì luôn :smile:
Mà vừa google thì có vẻ nó tương tự Mingw- em đã cài cùng lúc với codeblocks, còn chưa bao giờ động đến TDM.
Vậy có đoán dc là bệnh gì không bác?

có thể là do pass a là int vô %10.2f nó gây lỗi, sửa lại là a=%10d coi có hết ko @_@

… If any argument is not the correct type for the corresponding conversion specification, the behavior is undefined.

hành vi ko xác định undefined behavior nên nó bắn hỏa tiễn lên mặt trăng cũng được, in ra mấy số tầm bậy kia là còn ít @_@

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?