【发布时间】:2016-11-24 15:26:49
【问题描述】:
谁能帮我解释一下上面代码的输出.. 它将在不同的编译器中打印不同的输出。哪一个 一个可以考虑。
代码
#include<stdio.h>
int main()
{
int a=0, b=1, c=2;
*((a+1 == 1) ? &b : &a) = a ? b : c;
printf("%d, %d, %d\n", a, b, c);
return 0;
}
输出
0,2,2
此输出来自代码块
【问题讨论】:
-
哪个编译器给出了不同的输出?
标签: c pointers ternary-operator conditional-operator