编写一个程序,以每行一个单词的形式打印其输出
#include<stdio.h>main()
{
char s[1000];
int i,n,j;
printf("请输入文章");
for(i=0,n=0;(s[i]=getchar())!=EOF;i++)
{
if(s[i]=='\t'||s[i]==' '||s[i]=='\n')
;
n++;
}
for(i=0;i<=n;i++)
{
if (s[i]=='\t'||s[i]==' '||s[i]=='\n')
{ printf("\n");
while (s[i]=='\t'||s[i]==' '||s[i]=='\n')
{
i++;
}
}
printf("%c",s[i]);
}
printf("\n");
程序写出来了,但是不理解
{
if(s[i]=='\t'||s[i]==' '||s[i]=='\n')
;
n++;
}
for(i=0;i<=n;i++)
这里为什么是循环N次,也就是非空格、非制表符、非回车的字符数。我是新手,求指教
还有 为什么while (s[i]=='\t'||s[i]==' '||s[i]=='\n')
{
i++;
}
不能写成(s[i++]=='\t'||s[i++]==' '||s[i++]=='\n') 测试会出错
[ 本帖最后由 a2681702235 于 2014-7-1 15:43 编辑 ]