int a=10,b=20,c=30,d; d=++a=20||c++; printf("%d %d %d %d\n",a,b,c,d);求高手分析此程序段本人表示不懂对结果不理解

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/05 02:02:54
int a=10,b=20,c=30,d; d=++a=20||c++; printf(

int a=10,b=20,c=30,d; d=++a=20||c++; printf("%d %d %d %d\n",a,b,c,d);求高手分析此程序段本人表示不懂对结果不理解
int a=10,b=20,c=30,d; d=++a=20||c++; printf("%d %d %d %d\n",a,b,c,d);求高手分析此程序段
本人表示不懂
对结果不理解

int a=10,b=20,c=30,d; d=++a=20||c++; printf("%d %d %d %d\n",a,b,c,d);求高手分析此程序段本人表示不懂对结果不理解
主要运算部分:d=++a=20||c++;
首先执行++a=20,a自增1后为11,则++a=20为真(b的自减运算在之后执行,故b的输出值将会是19)
至此++a=20的结果为真,程序不再继续执行||c++的内容,故c的值不发生变化
最终输出结果为 11 19 30 1