C语言 输入一串英文字符串(含有空格) 然后再每一行按顺序输出该字符串的单词 (每行一个单词)

#include <string.h>
#include <stdio.h>
#include <string.h> //想要这么做 但是不行 求大师指点
#include <stdio.h>
#include <stdlib.h>
main()
{int i=0,m=0,l,j=0;
char k[10][10];
char s[30];
gets(s);
for (i=0; s[i]!='\0'; i++)
{
k[m][j]=s[i];
if (k[m][j]==' ')
{
m++;j=0;continue;
}j++;
}
for (i=0;i<=m;i++)
{ printf("%s\n",k[i]);
}
}

#include <stdio.h>
#include <string.h>

int main()
{
char a[30];
char b[30];
int i=0,j=0,temp;
gets(a); //获取字符串
for(i=0;i<strlen(a);i++)
if(a[i]==32 ) //为空格就把之前的数组输出
{
for(temp=0;temp<j;temp++)
printf("%c",b[temp]);
printf("\n");
j=0;
}
else if(i==strlen(a)-1) //防止最后一个数不被输出
{
b[j]=a[i];
j++;
for(temp=0;temp<j;temp++)
printf("%c",b[temp]);
printf("\n");
}
else //把字符放入一个数组里存起来,就好像记忆这是单词
{
b[j]=a[i];
j++;
}
return 0;
}追问

若字符串前面先是几个空格 为什么你的代码把前面的空格也输出来了

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

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