读书人

这个程序错在哪儿

发布时间: 2013-03-27 11:22:42 作者: rapoo

这个程序错在哪里
#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没有初始化

读书人网 >C语言

热点推荐