【发布时间】:2019-05-15 17:56:29
【问题描述】:
#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中变量b的值?
【问题讨论】:
-
第一个条件表达式返回一个指针,您可以取消引用。
标签: c conditional ternary-operator