代码:
#include <stdio.h>
int main()
{
int i = 3;
printf("%d %d %d %d %d\n",i = 7,--i,i = 18, i+5, i = 0);
printf("%d %d %d %d %d\n",i = 7,i--,i = 18, i+5, i = 0);
return 0;
}
输出:
7 7 7 5 7
7 18 7 5 7
为什么我得到这个输出,谁能向我解释一下printf
语句中的这些表达式是如何执行的?
我的意思是,编译器按什么顺序考虑?