C++中,关于定义一个字符指针数组,如何去输出所对应的字符串的问题。图一题目,图2我的疑惑. 100

 我来答
蘑菇小剪辑
2016-12-07 · TA获得超过283个赞
知道小有建树答主
回答量:250
采纳率:0%
帮助的人:122万
展开全部
1、首先name[i]是一个指向字符型的指针,按照图一的定义:
char *name[0]="BASIC"; //试想一下char *c="BASIC";
char *name[1]="FORTRAN";
这样想输出BASIC就应该是:
cout<<name[i]; //同cout<<c; 输出首字母指针会输出整个串的值。

2、如果照你说的做,例如:
cout<<*name[0];
这个name[0]是首字母地址吧,*name[0]不应该是首字母地址里面存的值吗,把这个输出会输出什么呀?当然是串的首字母啦,此处也就是B。像你这样输出整个串,需要一个循环:
for(int i=0;i<5;i++)
{
cout<<*(name[0]+i); //指针往后移一个单位

}
这样循环完成后也会输出BASIC,也就等同于:cout<<name[0];
更多追问追答
追问

如果我输出*name()就是输出字符串的首字母,不过字符串要到/0才会中止,那不久输出一串了吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式