#include <stdio.h>
main()
{
int i=5;
printf("%d %d",i,i++);
}
输出: 6 5
有人可以解释一下这种输出吗? 它与逗号运算符的关联性有关吗?
答案 0 :(得分:1)
行为未指定。这是因为printf
的参数不是排序。
(非正式地,您不知道i
何时会增加。
答案 1 :(得分:0)
内部参数的评估顺序未指定,因此根据您的C编译器,可以首先评估选项i
或i++
。您收到的输出是在i++
之前评估i
时发生的情况。