Thắc mắc về kiểu dữ liệu trong hàm Printf

Chào mọi người, em có thấy 1 đoạn chương trình như sau, tại sao viết với 2 kiểu dữ liệu khác nhau lại ra 2 kết quả vậy ạ? Cám ơn mọi người!!

#include<stdio.h>
#include<conio.h>
int main()
{
 int a=3;
 printf("%d %d %d ",a,a++,++a);
 printf("\n%d %d %d ",a,--a,a--);
 printf("\n%d %d %d ",a++,a++,a);
 getch();
}

Kết quả màn hình ra là 5 4 5
3 3 5
4 3 3
Và khi dùng float:

#include<stdio.h>
#include<conio.h>
int main()
{
 float a = 3;
 printf("%f %f %f",a,a++,++a);
 printf("\n%f %f %f ",a,--a,a--);
 printf("\n%f %f  %f ",a++,a++,a);
 getch();
}

kết quả lại là 5 4 4
3 3 5
4 3 3

Vấn đề ở câu hỏi này do được hỏi đi hỏi lại quá nhiều lần nên mình close nhé. Bạn có thể tham khảo ở link dưới.


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