题目
单选题(共40题,40.0分) 题型说明:单选题共40分,每小题1分 39. (1.0分) 设char*p="hello";则p[1]的值是:()。 A. 'l' B. 'e' C. 'o' D. 'h'
单选题(共40题,40.0分) 题型说明:单选题共40分,每小题1分 39. (1.0分) 设char*p="hello";则p[1]的值是:()。
A. 'l'
B. 'e'
C. 'o'
D. 'h'
A. 'l'
B. 'e'
C. 'o'
D. 'h'
题目解答
答案
`char *p = "hello";` 中,`p` 指向字符串 `"hello"`。根据下标:
- `p[0] = 'h'`
- `p[1] = 'e'`
- `p[2] = 'l'`
- `p[3] = 'l'`
- `p[4] = 'o'`
- `p[5] = '\0'`
因此,`p[1]` 的值是 `'e'`。
答案:B 'e'
解析
本题考查C语言中字符指针与字符串下标的关系。关键点在于理解:
- 字符指针指向字符串的首字符;
- 字符串在内存中存储为字符数组,以空字符
\0结尾; - 下标从0开始,
p[0]对应第一个字符,p[1]对应第二个字符。
字符串存储结构
字符串"hello"在内存中存储为:
索引:0 1 2 3 4 5
字符:h e l l o \0
下标对应关系
p[0]对应字符'h'p[1]对应字符'e'p[2]对应字符'l'p[3]对应字符'l'p[4]对应字符'o'p[5]对应终止符\0
因此,p[1]的值为'e',对应选项B。