1、以下程序的输出结果是____C_main(){ int a=100,x=10,y=20,ok1=5,ok2=0;if(x<y) if (y!=10) if (y!ok1) a=1; else if (ok2) a=10;a=-1;printf("%d\n",a);}A 1 B 0 C -1 D值不确定2、执行以下程序段后,变量a,b,c的值分别是____B__int x=10,y=9;int a,b,c;a=(--x==y--)?--x:++y;b=x++;c=y;A a=9,b=9,c=9 B a=8,b=8,c=10C a=9,b=10,c=9 D a=1,b=11,c=103、请阅读一下程序:main(){ int a=5,b=0,c=0; if (a=b+c)printf("***\n"); else printf("$$$\n");}A 有语法错不能通过编译 B 可以通过编译但不能通过连接C 输出*** D 输出$$$

热心网友

1、对整型变量a,x,y,ok1,ok2分别赋初值,执行条件判断x

热心网友

谢谢大家的热情回答!此题出自谭浩强的《C程序设计试题汇编》if (y!ok1)语句书上就是这么写的,我没有抄错。第二题(--x==y--)我抄错了,应该是(--x==y++),所以结果C=10

热心网友

上楼的兄弟yyaquamarine 第三个回答有欠思考,首先a=b+c,=在TC属赋值语句,在条件表达式中出现赋值语句会出现警告,但不妨碍可执行(编译环境不同,对=号的处理也是不同。C里条件等号应该为==,具体仔细看语法)。这里if(a=b+c),if的真假值取a的值,当0时为真,否则为假。所以这里的一段程序应该是a=b+c进行赋值,a这里的值=0,if(0)自然就执行条件否的语句输出$$$,但是你把b初始值改为1或更大值。你会发现,条件为真,这时输出的应该是***。你可以把两处输出改为printf("\n***%d",a) printf("\n$$$%d",a),输出a的值,看这时a的值的赋量变化。

热心网友

我试试分析一下把不一定对哦 (1)if(x