请解释一下该程序的输出:
int main()
{
int a,b,c,d;
a=10;
b=20;
c=a,b;
d=(a,b);
printf("\nC= %d",c);
printf("\nD= %d",d);
}
我得到的输出是:
C= 10
D= 20
我的疑问是“,”运算符在这里做什么?
我使用代码块编译并运行该程序。
The ,
运算符计算一系列表达式并返回最后一个表达式的值。
c=a,b
是相同的(c=a),b
。这就是为什么c是10
c=(a,b)
将分配结果a,b
,即 20,至c
.
正如迈克在评论中指出的那样,作业(=
) 的优先级高于逗号
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)