这个程序错在哪里
#include<stdio.h>
int main()
{
char line[81];
int i,m,n;
char c;
gets(line);
for(i=0;(i=line[i])!='\0';i++)
{
if(c==' ')
m++;
}
n=m+1;
printf("there are %d words in this line.\n",n);
return 0;
}
[解决办法]
for(i=0;(i=line[i])!='\0';i++)
你是不是想写
for(i=0;(c=line[i])!='\0';i++)的呀?
另外,你的定义char line[81];最好变为char line[81]={0};
[解决办法]
gets是一个危险的函数,并不检查你的输入长度是否大于你开辟的空间,你这样很容易越界。
[解决办法]
m没有初始化