C语言初学者很简单的问题...5

来源:百度知道 编辑:UC知道 时间:2024/07/02 19:35:30
inta=0,b=0,c=0;
c=(a-=a-5),(a=b,b+3);
printf("%d,%d,%d\n",a,b,c);

输出结果是0,0,5

inta=0,b=0,c=0;
c=(a-=a-5),(a=b,b=b+3);
printf("%d,%d,%d\n",a,b,c);
的输出结果呢?是0,3,5 还是0,0,5

c=(a-=a-5) 先算括号中的,因为减号的优先级高,先算a-5,就得到-5,括号中为a-=-5,就是a=a-(-5),a初始值是0,a=0-(-5),a就是5,然后c=a,c就是5,a=b,b的初始值是0,a就等于0,然后计算b+3,但b的值没有变。

第二个b=b+3,b+3是3,然后b=3,b就被赋值为3

所以是
0 3 5

0,3,5
linux上机测试,保证准确
参考符号优先级即可。a=a-(a-5)=5,赋给c,c=5。
b赋值给a,a=0。
b=b+3,b=3。
即0,3,5

自已试下不就知道了!

0,3,5