详见p231~234)
首先定义一个整型数组a,a的长度为5,然后定义一个指针变量P,并同时对P进行初始化,将数组a的地址赋给P。因此此时P中存放的数组a的首地址,即数组中第一个元素a[0]的地址。
数组中9对应的是a[8], 选项B,P+8表示数组中后8个元素的地址,即a[8]的地址。*(P+8)则表示该地址内所存放的内容,即a[8]的值。
选项A,*P表示P所指向对象的内容,此时P指向a[0], *P即a[0]的值1. *P+9=1+9=10
选项C,*P表示P所指向对象的内容,此时P指向a[0], *P即a[0]的值。因此*P+=9 即*P =*P+9, 等价于a[0]=a[0]+9.
选项D,P+8表示数组中后8个元素的地址,即a[8]的地址,而非a[8]中的值。
41. 在C语言中,以 D 作为字符串结束标志
A、’\n’
B、’ ’
C、 ’0’
D、’\0’
42.下列数据中属于“字符串常量”的是( A )。
A、“a”
B、{ABC}
C、‘abc\0’
D、‘a’
若干个字符构成字符串
在C语言中,用单引号标识字符;用双引号标识字符串
选项B,C,分别用{}和’’标识字符串
选项D,标识字符。
43.已知char x[]="hello", y[]={'h','e','a','b','e'};, 则关于两个数组长度的正确描述是 B .
A、相同
B、x大于y
C、x小于y
D、以上答案都不对
C语言中,字符串后面需要一个结束标志位'\0',通常系统会自动添加。
对一维数组初始化时可采用字符串的形式(例如本题数组x),也可采用字符集合的形式(例如本题数组y)。在以字符串形式初始化时,数组x不尽要存储字符串中的字符,还要存储字符串后的结束标志位,因此数组x的长度为6;在以字符集合形式初始化时,数组y,仅存储集合中的元素,因此数组y长度为5