A. A. 有语法错,不能通过编译
B. B. 通过编译,但不能连接
C. C. 输出* * * *
D. D. 输出# # # #
void main() { int x=0,a=0,b=0; if(x=a+b) printf(" * * * *\\n...
是D,因为x=a+b为赋值运算,x==a+b才为判断运算
void main() { int x=0,a=0,b=0; if(x=a+b) printf(" * * * *\\n...
if(x=a+b) \/\/x=a+b是赋值语句,这个赋值表达式有值为0,表示假,执行else后面的语句。printf(" * * * *\\n" ); \/\/这个不执行。else printf(" # # # #\\n" ); \/\/这个执行。
#include <stdio.h> void main() { int i=0,a=2; if(
else没有大括号,所以else的作用域只到下面的printf("ss")一句。printf("*")不在else作用域内。
...void main () { int x=0,y=0,z=0; if(x=y+z) printf("***...
解释:if(x=y+z)成立就执行输出*** 。否则就输出 至于x=y+z是赋值表达式来,赋值表达式的左边值是可以改变的。此处是把y+z值赋给x,即把0赋给x。所以此处的判断值是0,因此判断条件不成立。所以就执行printf ("###");
...void mian() { int a=0,b=0,c=0,d=0; char x; printf("Please ent...
void main(){ char a[100];gets(a);int len=strlen(a);int i,en=0,digital=0,space=0,other=0;for(i=0;i<=len;i++)if(a[i]>='a'&&a[i]<='z'||a[i]>='A'&&a[i]<='Z')en++;else if(a[i]>='0'&&a[i]<='9')digital++;else if(a[i]==' ')space++;else...
...void main() { int a=0,b=0,c=0,d=0; if (a=1) b=1;c=2; el_百度...
b=1;后面c=2;是两条语句,c=2;把else与if分开了。
...void main() { int a=0,b=0; while(a<15) a++; while(b++<15...
while(b++<15); 在b=15时循环停止,但是b++还要运行一次 2.1f 表示域宽为2,保留一位小数
...void main() { int a=1,b=0; if(!a) b++; else if(a==0)if(a)b...
include <stdio.h> void main(){ int a=1,b=0;if(!a) b++;\/\/!a的意思是a==0这里不成立 else if(a==0)\/\/判断这里也不成立 {\/\/是这么分段的,所以下面的都不做了,b没有变化 if(a)b+=2;else b+=3;} printf("%d\\n",b);} ...
...void main( ) { int x=1,y=0,a=0,b=0; switch(x) { case 1: switch...
我运行了,结果A=2,B=1;a++就是a自增1,a=a+1;case 1:switch(y){ case 0: a++; break;这个时候a=1;case 1: b++; break;} 这里后面没有break;所以会继续执行case 2:再下面a=2,b=1.
...void main( ) { int x=1,y=0,a=0,b=0; switch(x) { case 1: switch...
2 分析:include <stdio.h> void main( ){ int x=1,y=0,a=0,b=0;switch(x) \/\/x=1,执行后面的case 1分支 { case 1: \/\/执行 switch(y) \/\/y=0,执行后面的case 0分支 { case 0: a++; break; \/\/执行,a=1,跳到后面的case 2执行。case 1: b++...