C语言,输入一行文字,单词间以空格分隔,然后分离其中的单词按每行一个单词输出,程序有了,求解释

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言,输入一行文字,单词间以空格分隔,然后分离其中的单词按每行一个单词输出,程序有了,求解释相关的知识,希望对你有一定的参考价值。

编程序,输入一行文字,单词间以一个或多个空格分隔,然后分离其中的单词,并按每行一个单词依次输出各单词。
#include <stdio.h>
void main( )
char s[81];
int i,j;
gets(s);
for(i=0;s[i];i++)
if(s[i]!=' ')
for(;s[i]&&s[i]!=' ';i++)
printf("%c",s[i]);
printf("\n");
i--;



从 for(;s[i]&&s[i]!=' ';i++)开始就不懂了 高人帮忙指点一下后面几句什么意思 谢谢
for(;s[i]&&s[i]!=' ';i++)
printf("%c",s[i]);
printf("\n");
以上几句懂了 可是最后为什么要i--呢 这里又不懂了。。。

for(;s[i]&&s[i]!=' ';i++)使用循环逐个字母输出每一个空格后的单词,即:字符不为空格或结束符

遇到空格后就 printf("\\n");换行,从新执行

for(i=0;s[i];i++)

if(s[i]!=' ')

for(;s[i]&&s[i]!=' ';i++)

printf("%c",s[i]);

printf("\\n");

i--;

直到结束

扩展资料

与C++、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%~20%。因此,C语言可以编写系统软件。

参考资料来源:百度百科:c语言

参考技术A for循环的意思是,如果当前的字符不是字符串结束符'\0'也不是空格的时候就把这个字符打印到屏幕上,直到遇到空格表示打印完了一个单词了,这时候跳出循环打一个回车换行出来,准备开始打下一个单词,但是因为在for循环里i已经自加了,为了不错过下一个单词的第一个字符,所以要把i先减一,这样的话外面的大循环再执行i++的时候就不至于吧下一组单词的第一个字符给错过了。本回答被提问者采纳 参考技术B for(;s[i]&&s[i]!=' ';i++)使用循环逐个字母输出每一个空格后的单词,即:字符不为空格或结束符就逐个输出,
遇到空格后就 printf("\n");换行,从新执行
for(i=0;s[i];i++)
if(s[i]!=' ')
for(;s[i]&&s[i]!=' ';i++)
printf("%c",s[i]);
printf("\n");
i--;

知道结束

以上是关于C语言,输入一行文字,单词间以空格分隔,然后分离其中的单词按每行一个单词输出,程序有了,求解释的主要内容,如果未能解决你的问题,请参考以下文章

C语言:输入一行字符,统计其中有多少个单词,单词之间用空格分隔开

C语言 一行数据 空格分隔

C语言输入一行字符 统计其中有多少个单词,单词之间用空格分隔开

C语言输入一行字符 统计其中有多少个单词,单词之间用空格分隔开

C语言:输入一行字符,统计其中有多少个单词,单词之间用空格分隔开

C语言,输入一行英文字母,统计其中有多少个单词,单词之间用空格分隔.