#include
#include
void Func(char (*p)[10],char b[],int *pval)
{
int j,i,t=0;
for(i=0,j=0; b[i]!='\0'; i++,j++)
{
if(b[i]==' ') //遇到空格
{
p[t][j]='\0';
j=-1;
t++;
}
else //遇到是单词
p[t][j]=b[i];
}
p[t][j]='\0';
*pval = t;
return;
}
void Show(char (*p)[10],int *pval)
{
int j=0;
int k=0;
while(k<=*pval)
{
printf("a[%d]==",j);
for(int i=0; p[k][i]!='\0'; i++)
{
printf("%c",p[k][i]);
}
putchar(10);
k++;
j++;
}
return;
}
int main()
{
int val=NULL;
char a[10][10];
char b[]="How are you";
printf("b:%s\n-------------\n",b);
char (*p)[10];
p = a;
Func(p,b,&val);
Show(p,&val);
system("pause");
return 0;
}
初出结果:
您好,您有什么不懂继续追问吧。很高兴帮助您!
这个就用到了二维数组了。。。a[3][3]={"how","are","you"}; 即可,如果用输出a[0]就等于how,a[1]等于 are, a[2]等于 you, 而且字符串是用双引号,数组是从0开始计数的,谢谢,不会可以追问 望采纳
这是不行的。字符数组一个元素只能存一个字符。如:a[1]='h',而不能a='how', 'how'必须用三个元素来存,"a[0]='h',a[1]='o',a[2]='w' 除非你数组保存的不是char 而是string之类的
#include
int main()
{
char *a[3] = { "how", "are", "you"};
for (int i = 0; i < 3; i++)
puts(a[i]);
return 0;
}