请讲解一下为何选A
请讲解一下为何选A5.若有定义:char *ps[ ] = {"aa", "bb", "cc", "...
请讲解一下为何选A5.若有定义:
char *ps[ ] = {"aa", "bb", "cc", "dd"};,
则以下叙述正确的是
A.*ps[0]是字符'a'
B.*ps[0]是字符串"aa"
C. ps[0]是字符'a'
D. ps是字符串"aa" 展开
char *ps[ ] = {"aa", "bb", "cc", "dd"};,
则以下叙述正确的是
A.*ps[0]是字符'a'
B.*ps[0]是字符串"aa"
C. ps[0]是字符'a'
D. ps是字符串"aa" 展开
2个回答
展开全部
根据运算符优先级 []优先 *
所以翻译过来就是
char *(ps[ 4]) = {"aa", "bb", "cc", "dd"};
(看成是 char ps[ 4][3] = {"aa", "bb", "cc", "dd"};也可以,“aa”有三个元素)
所以
ps[ 0]=“aa”
ps[ 1]=“bb”
ps[ 2]=“cc”
ps[ 3]=“dd”
所以去ps[0]首地址的元素*ps[0]是字符'a',不是地址所以B错了,A对。ps[ 0]=“aa”所以C错了。
ps[ 0]=“aa”,所以ps=="aa"这个字符串地址值(地址也是一个数值,当然有储存的地方)所存的地址,所以D错了。
所以翻译过来就是
char *(ps[ 4]) = {"aa", "bb", "cc", "dd"};
(看成是 char ps[ 4][3] = {"aa", "bb", "cc", "dd"};也可以,“aa”有三个元素)
所以
ps[ 0]=“aa”
ps[ 1]=“bb”
ps[ 2]=“cc”
ps[ 3]=“dd”
所以去ps[0]首地址的元素*ps[0]是字符'a',不是地址所以B错了,A对。ps[ 0]=“aa”所以C错了。
ps[ 0]=“aa”,所以ps=="aa"这个字符串地址值(地址也是一个数值,当然有储存的地方)所存的地址,所以D错了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询