请解释一下该程序中的逗号运算符

2024-01-03

请解释一下该程序的输出:

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(使用前将#替换为@)

请解释一下该程序中的逗号运算符 的相关文章

随机推荐