简单的C语言练习,请大神帮我找出错误

如题所述

第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).
第2个回答  2013-12-26
6错了 选B 因为x先自减,x值为-1,y自加为3,y=-1 || 3=1;
7错了,选择D
8错了,选择B
9错了 选B追问

第七题你可能看错了

追答

7题 难道你还要在键盘上输入a= b=这些字符?

追问

那倒不会这么麻烦,只是考试题目是这样,考试就是能怎么坑就怎么坑

追答

7题肯定选D,你输入 123 456 789 就行

追问

我电脑编一下,

追答

恩,忘了是格式化输入了。

本回答被提问者采纳
相似回答
大家正在搜