c语言字符串解析char str[] = “hello how are you “如何按空格将每个单词分离并放到字符串数组ch[4][8]

如题所述

第1个回答  2010-10-12
#include<stdio.h>
#include<string.h>
void doit(char str[] ,char ch[4][8])
{
int i= 0 ,k = 0,m = 0,len = strlen(str);
for(i = 0; i < len; )
{
while(str[i] == ' '&& i < len )//除去空格
i++;
if( i < len )//不全为空格的时候才执行
{
while(str[i] !=' ' && i < len)
{
ch[k][m] = str[i];
i++; m++;
}
ch[k][m] = '\0';
k++;
}
m = 0;
}
}
void show(char ch[4][8])
{
int i;

for(i = 0 ;i< 4;i++)
{
puts(ch[i]);
putchar('\n');
}
}
void main()
{
char str[] = " hello how are you ",ch[4][8];
doit(str,ch);
show(ch);
}
第2个回答  2010-10-12
能显示吗?

int main()
{
char str[] = "hello how are you";
char ch[4][8];

char *ptr;
ptr = str;
int i=0,j=0;
while(*(ptr) !=0)
{
if(*ptr !=' ')
{
ch[i][j++]= *ptr;
}
else
{
ch[i][j]=0;
i++;
j = 0;
}

ptr++;

}
ch[i][j]=0;

for(i=0;i<4;i++)
{
cout<<ch[i]<<endl;
}
return 0 ;
}
第3个回答  2010-10-12
String string = String.valueOf(str);
ch = string.spilt(" ");
第4个回答  2010-10-12
#include<stdio.h>
main()
{
    char str[] = "hello how are you";
    char ch[4][8]={0};
    int i,j,n=0;
    for(i=0;i<4;i++,n++)
    {
        for(j=0;j<8;j++,n++)
        {
            if(str[n]==' ')
                break;
            ch[i][j]=str[n];    
        }
    }
    getch();
}本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网