学习C语言,编写的下面程序,用VC++6.0运行,提示有错误,我怎么找不出错误在哪里,怎么改才是正确的呢?
#include<stdio.h>voidmain(){charstring[81];gets(string);inti,num,word;num=word=0;char...
#include<stdio.h>
void main()
{
char string[81];
gets(string);
int i,num,word;
num=word=0;
char c;
for(i=0;(c=string[i])!='\0';i++)
{
if(c==' ')
word=0;
else
if(word==0)
{
word=1;
num++;
}
}
printf("There are %d words in the line.\n",num);
} 展开
void main()
{
char string[81];
gets(string);
int i,num,word;
num=word=0;
char c;
for(i=0;(c=string[i])!='\0';i++)
{
if(c==' ')
word=0;
else
if(word==0)
{
word=1;
num++;
}
}
printf("There are %d words in the line.\n",num);
} 展开
追问
你用的什么编译器?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我觉得是个小问题,你把第7行的定义上移一行,先定义后赋值
#include<stdio.h>
void main()
{
char string[81];
gets(string);
int i,num,word;
char c;
num=word=0;
for(i=0;(c=string[i])!='\0';i++)
{
if(c==' ')
word=0;
else
if(word==0)
{
word=1;
num++;
}
}
printf("There are %d words in the line.\n",num);
}
#include<stdio.h>
void main()
{
char string[81];
gets(string);
int i,num,word;
char c;
num=word=0;
for(i=0;(c=string[i])!='\0';i++)
{
if(c==' ')
word=0;
else
if(word==0)
{
word=1;
num++;
}
}
printf("There are %d words in the line.\n",num);
}
追问
先定义,后赋值。必须是把所有的变量都定义,并且放在一起啊,然后在对变量赋值。我本来以为先定义,char c; ,后赋值,for(i=0;(c=string[i])!='\0';i++) 。对c这个变量不就是先定义了然后再赋值吗?
我改变了一下顺序,真的没有错误了,第7行的定义上移一行,并且第5行的出入字符语句下移3行。就全正确了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我这里编译没错啊……
追问
你用的什么编译器?我用的VC++6.0
追答
MinGW
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询