首页 > 试题广场 >

有以下语句:对字符串的正确引用是()

[不定项选择题]
有以下语句:
char str[4][12] = {"aaa", "bbbb", "ccccc", "dddddd"}, *strp[4];
for (int i = 0; i < 4; i++)
    strp[i] = str[i];

对字符串的正确引用是(),其中0k<4

  • *strp
  • strp
  • str[k]
  • strp[k]
题目问的是 对字符串正确引用,就是是字符串地址的!答案B是数组的地址,其余都是字符串的地址!
发表于 2018-01-05 19:47:03 回复(2)
A:*strp = strp[0] = str[0]。
B:strp  = &strp[0] =  &str[0]
C:str[k] = strp[k] = *(strp + k)
D:strp[k] = *(strp + k) = str[k]
题目是对字符串引用正确的是(不定项选择),由上分析可以看出ACD是等价的,所以答案是:ACD
编辑于 2018-12-24 10:38:41 回复(0)
B:strp的类型是char**
其它三个的类型都是char*
发表于 2017-08-19 16:24:38 回复(0)
strp是指针数组的首元素地址,数组元素本身就是指针,所以strp的类型可以说是二级指针
发表于 2019-12-18 16:27:28 回复(0)
strp[1]这个符号可以想象成:*(strp+1),strp指向字符指针数组第一个位置,那么*(strp+1)表示向后挪一个然后取值,即为某个字符指针
关于[]的理解来自谭浩强的教材
发表于 2019-06-24 18:38:19 回复(0)
strp是二级指针了
发表于 2019-03-14 20:56:09 回复(0)
strp=&strp[0],也就是字符串‘aaa’首地址的地址,所以不是对字符串的引用。
其他几个答案都是指向字符串的首地址的
发表于 2018-08-11 11:42:48 回复(1)
发表于 2017-09-23 18:59:15 回复(0)
<p>相当于char *argv[]</p>
发表于 2020-09-03 10:42:16 回复(0)