第1个回答 2013-12-26
第六题: 答案是B. 程序首先执行 --x; 那么 x = -1; 在判断或运算时, 第一个操作数为真(非零)时, 省略执行对第而操作数的运算(++y 语句不执行), 结果为真, 所以 y 的被赋值为 1 (布尔运算真为 1, 假为 0)
第七题: 答案是 A. 输入时必须按照 scanf 指定的格式输入
第八题: 答案是 B. int a[5]={0,1,2,3,4,5} 会发生数组上溢, char a = 'A'; 或者 char a[]={'A','B','C'}; char a[5] = "0123"; 字符串不能赋值给整形数组.
第九题: 答案是 B. 相当于 char str[10] = "123457\0"; 当 strlen 遇到认为'\067'是一个转义字符, 从ASCII 码表可以知道是数字 7. ('\067' 是八进制数就是 55).