题目
下述对C语言字符数组的描述中错误的是A. 字符数组的下标从0开始B. 字符数组中的字符串可以进行整体输入/输出C. 可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值D. 字符数组可以存放字符串
下述对C语言字符数组的描述中错误的是
A. 字符数组的下标从0开始
B. 字符数组中的字符串可以进行整体输入/输出
C. 可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值
D. 字符数组可以存放字符串
题目解答
答案
C. 可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值
解析
本题考查C语言字符数组的基本性质及操作限制。关键点在于理解字符数组与普通数组在赋值操作上的区别,以及字符串处理的相关规则。需注意:
- 字符数组的下标规则与普通数组一致;
- 字符串整体输入/输出的实现方式;
- 字符数组整体赋值的限制(仅允许在定义时初始化);
- 字符数组存储字符串的机制(包含空终止符)。
选项分析
选项A
字符数组的下标从0开始。
正确。C语言所有数组的下标均从0开始,字符数组也不例外。
选项B
字符数组中的字符串可以进行整体输入/输出。
正确。通过scanf("%s", str)和printf("%s", str)可实现字符串的整体输入/输出。
选项C
可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值。
错误。C语言不允许对已定义的字符数组使用=整体赋值。例如:
char str[5] = "Hello"; // 定义时初始化(合法)
str = "World"; // 运行时赋值(非法)
只能在定义时通过初始化赋值,或使用strcpy等函数间接赋值。
选项D
字符数组可以存放字符串。
正确。字符数组存储字符串时,末尾会自动添加空终止符\0。