基础C语言问题,急急急

来源:百度知道 编辑:UC知道 时间:2024/09/21 11:19:32
#include <stdio.h>
int main()
{
char str1[100];
int i=0,l=0;
gets(str1);
while(str1[i]!='\0') i++;
printf("一共有%d个字符",i);
/****************************/
i=0;
while(str1[i]==' ') i++;
while(l<100)
if(str1[l]==' '&&str1[l]!='\0')
l++;
/****************************/
printf("\n一共有%d个单词",l-i+1);
return (0);
}
这个程序为什么运行不了,我看不出错误!程序执行到l++的时候就结束了,搞不懂为什么
能不能来个懂的?

因为你这个程序在
while(l<100)
        if(str1[l]==' '&&str1[l]!='\0')
                l++;

这里死循环了。

按你写的这段代码的意思就是。
前100个字符为空格时变量l才能加到100,这时才能退出这个while(l<100)的循环

怎么都是乱码呀