字符串指针
char*s=“abcefg“;那么s[0]=as[1]=bs[5]=g对不对?如果是这样char**s="abcdef";那么s[0]S[1]是什么意思?...
char *s=“abcefg“;
那么s[0]=a s[1]=b s[5]=g 对不对?
如果是这样 char **s="abcdef";
那么s[0] S[1]是什么意思? 展开
那么s[0]=a s[1]=b s[5]=g 对不对?
如果是这样 char **s="abcdef";
那么s[0] S[1]是什么意思? 展开
3个回答
展开全部
char *s=“abcefg“;那么s[0]=a s[1]=b s[5]=g 对不对?这是对的,但char **s="abcdef";就不对了。你试了吗?char **s="abcdef";这样写能通过编译?恐怕不行吧!char **s是申明s为指向另一个指向字符型变量的指针的指针,应该这样写才对:char *p=“abcefg“,**s=&p;,但是,用**s可取出指针指向的字符串的内容来,比如有上面的定义,用cout << **s << endl;就可输出字符a。这是因为*在申明语句和运算语句中表达的意思不一样,前者是说紧跟在后面的标识符是个指针,后者是说要取指针中的内容!要输出"abcefg“的话就要写成cout << *s << endl;,因为*s是p[0]的地址,而**s则是p[0]的内容了,它的内容就是a。s[0] 、s[1]的意思是:s[0] 是数组s的第0个元素,而s[1]是数组s的第1个元素。C/C++规定数组元素序号必须从0开始。
展开全部
1. char *s=“abcefg“;
那么s[0]==‘a’s[1]==‘b’ s[5]==‘g’ 对
2. 不能这样写,会警告的,类型不一致,左边char ** 右边char *
那么s[0]==‘a’s[1]==‘b’ s[5]==‘g’ 对
2. 不能这样写,会警告的,类型不一致,左边char ** 右边char *
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
char *s=“abcefg“;
那么s[0]=a s[1]=b s[5]=g 对不对?
对的,
也可以*s=a,*s+1=b,
如果是这样 char **s="abcdef";
那么s[0] S[1]是什么意思?
这个不明白,
那么s[0]=a s[1]=b s[5]=g 对不对?
对的,
也可以*s=a,*s+1=b,
如果是这样 char **s="abcdef";
那么s[0] S[1]是什么意思?
这个不明白,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询