【发布时间】:2014-09-17 09:44:21
【问题描述】:
我不明白它是如何工作的以及它产生的原因 以下输出。
int main()
{
int i=0;
int a=5;
int x=0;
for(i=0; i<5; x=(i++,a++))
{
printf("i=%d a=%d x=%d\n",i,a,x);
}
}
这作为输出:
i=0 a=5 x=0
i=1 a=6 x=5
i=2 a=7 x=6
i=3 a=8 x=7
i=4 a=9 x=8
【问题讨论】:
-
查找逗号运算符。
-
见this
-
您不了解该程序的哪个特定部分?
-
这绝对是写那个表达式的糟糕方式,
i++, x = a++做同样的事情并且不暗示 x 和 i 之间有任何关系 -
程序运行正常。由于您没有说出您的预期,因此无法回答您的问题。
标签: c comma-operator