C语言题目求解!
对于char**pstr;以下正确的是:A、*pstr="hi"B、pstr="hi"C、**pstr="hi"给出答案并给出让我信服的理由吧!切磋切磋...
对于char **pstr;
以下正确的是:
A、*pstr="hi"
B、pstr="hi"
C、**pstr="hi"
给出答案并给出让我信服的理由吧!切磋切磋 展开
以下正确的是:
A、*pstr="hi"
B、pstr="hi"
C、**pstr="hi"
给出答案并给出让我信服的理由吧!切磋切磋 展开
1个回答
2013-11-05
展开全部
对于这类问题,单从语法上分析,程序执行情况会有所不同,
char **pstr;定义的是一个char类型的二级指针;赋值的条件是类型相同,或者类型之间可以自动转换
则有
1)*pstr,用*解除了一级指针,故*pstr是一个指向char类型的指针。即有*pstr类型是char *,与,"hi"它的类型是char [],它可以转换成char *,可以赋值。
同char *p,a[5];p=a类似;语法上说它是对的
2)pstr是一个二级指针,它的类型是char **,"hi"它的类型是char [],它可以转换成char *,但显然char **与char*之间不能相互转换,故其实错误的。
3)**pstr,用**解除了指针,它就是char类型的,与2)同理,char 与 char[]或char *显然是不能相互转换,故其实错误的
char **pstr;定义的是一个char类型的二级指针;赋值的条件是类型相同,或者类型之间可以自动转换
则有
1)*pstr,用*解除了一级指针,故*pstr是一个指向char类型的指针。即有*pstr类型是char *,与,"hi"它的类型是char [],它可以转换成char *,可以赋值。
同char *p,a[5];p=a类似;语法上说它是对的
2)pstr是一个二级指针,它的类型是char **,"hi"它的类型是char [],它可以转换成char *,但显然char **与char*之间不能相互转换,故其实错误的。
3)**pstr,用**解除了指针,它就是char类型的,与2)同理,char 与 char[]或char *显然是不能相互转换,故其实错误的
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询