搜索

int a=1,b=2,c=3; printf("%d,%d,%d,%d\n",a=b=c,a=b==c,a==(b=c...

发布网友 发布时间:2024-10-24 04:58

我来回答

1个回答

热心网友 时间:2024-10-24 15:52

1 printf从右向左计算传入的参数
2 倒数第二个参数 a==(b=c),运行完后,b的值变成3
3 倒数第三个参数 a=b==c 运行完后,由于b c相等,a的值变成1
由于这个参数是一个赋值语句,printf等到全部参数运算结束后,直接从变量a取值
4 倒数第四个参数 a=b=c 运行完后,a的值更新为3
由于这个参数是一个赋值语句,printf等到全部参数运算结束后,直接从变量a取值
四个参数计算结束,a的值是3 printf的前两个%d直接从变量a取值,所以都是3
--------------------------
你可以简单试试:下面的代码,直接在屏幕上打印两个5
#include <stdio.h>
int main()
{
int a=21;
printf("%d%d",a=5,a=2*3);
return 0;
}
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
Top