Bản sao có thể xảy ra:
printf(“%d %d %d\n”,++a, a++,a) output problem
Parameter evaluation order before a function calling in Cprintf và ++ hành
#include<stdio.h>
main()
{
int a=10;
printf("\n %d %d", a, a++); //11 10
a=10;
printf("\n %d %d", a++, a); //10 11
a=10;
printf("\n %d %d %d ", a, a++,++a); //12 11 12
}
sau khi chạy này, tôi có đầu ra được đưa ra trong ý kiến. theo như tôi biết đầu ra đầu tiên được mong đợi bởi vì việc thực thi printf đi từ phải sang trái nhưng không thể hiểu được thứ hai và thứ ba
trùng lặp: http://stackoverflow.com/questions/1270370/printfd-ddnaaa-output-problem – Vladimir
+1 cho câu hỏi hay .. Tôi không biết nó hoạt động theo cách đó – Earlz
Tính toán đối số cho * printf * không phải là một phần của việc thực hiện * printf *. Các đối số phải được tính toán trước khi * printf * bắt đầu thực hiện. –