阅读下面程序,写出运行结果

2025-01-31 00:30:21
推荐回答(4个)
回答1:

楼上的解了第一个
a=6 c=250
第二个
if(c=(b==0))a=0

b在之前被赋值( else if (b=0))所以成立c为真c=1 a=5
a=5 c=1
第三个(这时候a=5 b=0 c=1)
a=c=b都为假,(之前赋值的)所以不通过,之后的a=4不执行a c同时被赋值0

a=0 c=0

回答2:

if((c=b)<0) a=4;这里,先赋值,条件不成立,走下面的else部分
else if(b=0) a=5; 这里,条件还是不成立,走后面的else
else a=6; a的值是6
printf("\t%d\t%d\n",a,c); 输出6 250
if(c=(b==0)) a=5; printf("\t%d\t%d\n",a,c);这里b不等于0,条件不成立,输出6 0
if(a=c=b) a=4; printf("\t%d\t%d\n",a,c);赋值语句的值,就是a的值,250,成立,a的值是4,输出4 250

回答3:

main()
{ int a,b=250,c;定义三个变量,给b赋初值
if((c=b)<0) a=4;如果C!=B,A=4
else if(b=0) a=5; 否则如果b=0,那么a=5
else a=6; 否则=6
printf("\t%d\t%d\n",a,c);打印A,C的值
if(c=(b==0)) a=5; 如果b=0,且等于1,A等于5
printf("\t%d\t%d\n",a,c);
if(a=c=b) a=4;
printf("\t%d\t%d\n",a,c); }
下面一样分析

回答4:

if((c=b)<0)
a=4;这里,先赋值,条件不成立,走下面的else部分
else
if(b=0)
a=5;
这里,条件还是不成立,走后面的else
else
a=6;
a的值是6
printf("\t%d\t%d\n",a,c);
输出6
250
if(c=(b==0))
a=5;
printf("\t%d\t%d\n",a,c);这里b不等于0,条件不成立,输出6
0
if(a=c=b)
a=4;
printf("\t%d\t%d\n",a,c);赋值语句的值,就是a的值,250,成立,a的值是4,输出4
250