(13) 以下定义语句中正确的是 A) char a='A'b='B'; B) float a=b=10.0; C) int a=10,*b=&a; D) float *a,b=&a; 答案是C B为什么不对? (18) 有以下程序 main() { int m=0256,n=256; printf("%o %o\n",mn,n); } 程序运行后的输出结果是 A) 0256 0400 B) 0256 256 C) 256 400 D) 400 400 答案是C 为什么不是A?八进制不是要在前面加0吗? (23) 下列条件语句中,功能与其他语句不同的是 A) if(a) printf("%d\n",x); else printf("%d\n",y); B) if(a==0) printf("%d\n",y); else printf("%d\n",x); C) if (a!=0) printf("%d\n",x); else printf("%d\n",y); D) if(a==0) printf("%d\n",x); else printf("%d\n",y); 答案是C 我知道=是赋值 ==是判断是否相等,那!=是赋值还是判断是否相等? (27) 以下能正确定义二维数组的是 A) int a[][3]; B) int a[][3]=2{2*3}; C) int a[][3]={}; D) int a[2][3]={{1},{2},{3,4}}; 我的书答案是B,我同学的答案是C,到底是哪个,分析一下吧 A为什么不对呢 (42) 有以下程序 main() { char s[]"Yes\n/No",*ps=s; puts(ps+4); *(ps+4)=0; puts(s); } 程序运行后的输出结果是(选项D中的第一行是空行) A) n/No B) /No C) n/NO D) Yes Yes Yes /No /No /No Yes 答案是B 不明白什么意思 (43) 有以下程序 main() { unsigned int a; int b=-1; a=b; printf("%u",a); } 程序运行后的输出结果是 A) -1 B) 65535 C) 32767 D) -32768 答案是B 不知道怎么算 (13) 以下程序中, for循环体执行的次数是 【13】 。 #define N 2 #define M N+1 #define K M+1*M/2 main() { int i; for(i=1;i<K;i++) { ... } ... } 答案是4 请解释展开过程 谢谢大家