int a=1,b=2,c=3,d=4; if((a=2)||(b=1)) c=2; if((c==3)&&(d=-1)
来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/11/12 14:42:41
int a=1,b=2,c=3,d=4; if((a=2)||(b=1)) c=2; if((c==3)&&(d=-1)) a=5; 输出a,b,c,d
2 2 2 4 请详述
2 2 2 4 请详述
我觉得这个问题的关键在于短路求值.初始值a=1,b=2,c=3,d=4,在第一个判断的语句中a=1是等式,他的返回值如果是真的话,后面的b=1就不会进行赋值,同样在双与运算符中同样存在短路求值的情况.第一个语句中a=2,返回值是的2,非零的整数在判断语句中视为真,或运算符只要一个是真结果就为真,所以后面的那个b=1不进行,结果c=2,再后面执行c==3时为0,所以后面的语句都不执行.总的来说这段进行了一次a=2的赋值及判断,c=2的赋值,其它的语句要么是不满足if的条件,要么是被短路求值了.
#includemain(){ int a=1,b=2,c=3,d=0;if(a==1)if(b!=2)if(c==3)
int a=1,b=2,c=3; if(a>c)b=a;a=c;c=b;则c的值为().A、1 B、3 C、2 D、不一
int a=0,b=1,c=0,d=20; if(a) d-=10 ;else if(b) {if(!c) d=15;e
main() {int a=0,b=1,c=0,d=20; if (a) d=d-10; else if b) if c
int a=1,b=2,c=3,d=4; if((a=2)&&(b=1)) c=2; if((c==3)||(d=-1)
int a=1,b=2,c=3,d=4; if((a=2)||(b=1)) c=2; if((c==3)&&(d=-1)
int a=1,b=2,c=3;if(a>b)a=b;if(a>c)a=c;则a的值为3.
以下程序运行后的输出结果是?main(){int a=1,b=2,c=3;if(c=a)printf("%d\n",c)
int a=1,b=2,c=3;if(a>c)b=a;a=c;c=b;则C的值为
int a=1,b=2,c=3,d=0; if(a==1&&b++==2) if(b!=0||c--!=3) print
设有如下程序段:int a=2,b=1,c=3; if(a
C语言 int a;int b; }d[3] ={{1,4},{2,5},{6,7}}; printf("%d\n",d