C语言 问高的们一个很简单的问题

来源:百度知道 编辑:UC知道 时间:2024/06/19 14:40:10
main()
{ int a=3,b=a;
printf("%d,%d",(a,b),(b,a));
}
运行结果是什么,为什么?请高手帮忙解答

运行结果是:3,3
因为(a,b)和(b,a)逗号表达式都取最后一个表达式的值,故(a,b)的值为b(b=a=3)的值3;(b,a)的值为a的值3,故为上述结果。

3,3 这是逗号表达式 先求表达式一的值 再求表达式二的值整个表达式值是表达式二的值 b ,a

3 3