这个C++的结果是什么?大概讲解一下。

来源:百度知道 编辑:UC知道 时间:2024/07/05 07:08:21
#include <iostream.h>
void main()
{
char *p[5];
char str[10]="abcdefgh";
for (i=0;i<5;i++)
p[i]=str+i;
for (i=0;i<5;i+=2)
cout<<p[i]<<endl;
}
1L答案不对

输出应该是:
abcdefgh
cdefgh
efgh
说明:char *p[5];//定义一个包含五个char *类型的元素.
for (i=0;i<5;i++)
p[i]=str+i; //p[0]=str;p[1]=&str[1];p[2]=&str[2];p[3]=&str[3];p[4]=&str[4];
for (i=0;i<5;i+=2)
cout<<p[i]<<endl; //输入p[0],p[2],p[4];由于是指针类型,cout输出字符指针是把整个字符串一起输出,前面已经对每个字符指值都赋值了,所以输出相应的字符串.
还有,i前面要加int.

i=0,2,4
a,c,e