C++中,关于定义一个字符指针数组,如何去输出所对应的字符串的问题。图一题目,图2我的疑惑. 100
展开全部
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];
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];
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询