C语言编程错误问题~

#include<stdio.h>voidmain(){charstring[81];inti;num;word;num=0;word=0;charc;gets(srin... #include<stdio.h>
void main()
{
char string[81];
int i;num;word;
num=0;word=0;
char c;
gets(sring);
for(i=0;(c=sting[i])!='\0';i++)
if(c==' ')
word=0;
else if(word==0)
{
num++;
word=1;
}
printf("There are %d words in line\n",num);
}
编译后提示:
错误 word.c 5: 未定义的符号'num'在 main 函数中
警告 word.c 5: 无效操作代码在 main 函数中
错误 word.c 5: 未定义的符号'word'在 main 函数中
警告 word.c 5: 无效操作代码在 main 函数中
错误 word.c 7: 表达式语法错在 main 函数中
错误 word.c 7: 表达式语法错在 main 函数中
错误 word.c 8: 未定义的符号'sring'在 main 函数中
警告 word.c 8: 不可移动的指针(地址常数)转换在 main 函数中
错误 word.c 9: 未定义的符号'c'在 main 函数中
错误 word.c 9: 未定义的符号'sting'在 main 函数中
错误 word.c 9: 无效间接运算在 main 函数中
*** 编译出现 7 个错误 ***
我用的事Win-TC、、、这是什么情况、、怎么这么多错误、、什么是未定义在main函数中?我是个菜鸟、、刚学C、、请高手指教、、、
展开
 我来答
ne555lm386
2010-08-02 · TA获得超过293个赞
知道小有建树答主
回答量:124
采纳率:0%
帮助的人:165万
展开全部
void main()是不存在的,
现在标准的写法有两种:
int main();
或int main(void);
以前用main();
int i;num;word;
num=0;word=0;

应该是int i,num,word,num=0,word=0;

中间是逗号,不是分号,程序中,分号表示语句的结束,编译器一看到分号就不看这句了,直接下一句。所以这些变量相当与没有定义,没有定义编译器就报错了,说不知道这些符号是什么东东。
string被写成了sting和sring
意法半导体(中国)投资有限公司
2023-06-12 广告
单片机,即单片微控制器,也称为单片微型计算机,是将中央处理器(CPU)、存储器(ROM,RAM)、输入/输出接口和其他功能部件集成在一块 在一个小块的集成电路上,从而实现对整个电路或系统的数字式控制。单片机不是完成某一个逻辑功能的芯片,而是... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
wxdr66
2012-09-26 · 问题?容鄙人一一给你突破
wxdr66
采纳数:39 获赞数:45

向TA提问 私信TA
展开全部
#include<stdio.h>
void main()
{
char string[81];
int i,num,word;
num=0;
word=0;
char c;
gets(string);
for(i=0;(c=string[i])!='\0';i++)
if(c==' ')
word=0;
else if(word==0)
{
num++;
word=1;
}
printf("There are %d words in line\n",num);
}

这是正确的代码,你主要的错误就是不知道c语言中的变量在使用的时候最好是要先定义再使用,还有的就是你这代码中的一些变量的写错了,要仔细点哦
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
路人重新路过
2010-08-02 · TA获得超过792个赞
知道小有建树答主
回答量:137
采纳率:0%
帮助的人:114万
展开全部
错误 word.c 5: 未定义的符号'num'在 main 函数中
警告 word.c 5: 无效操作代码在 main 函数中
错误 word.c 5: 未定义的符号'word'在 main 函数中
警告 word.c 5: 无效操作代码在 main 函数中
主函数出现的符号 指针都需定义,应该是
int i;
int num;
int word;
char c
"int i;num;word;"相当于num word 没定义

gets(sring);
for(i=0;(c=sting[i])!='\0';i++)
拼写错误,应该是string吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友f888f21
2010-08-02 · TA获得超过162个赞
知道小有建树答主
回答量:560
采纳率:0%
帮助的人:376万
展开全部
int i;num;word;

中间逗号。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ssik199
2010-08-02 · 超过26用户采纳过TA的回答
知道答主
回答量:98
采纳率:0%
帮助的人:0
展开全部
注意拼写,细心一点,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
黑色幽默002
2010-08-02 · 超过11用户采纳过TA的回答
知道答主
回答量:23
采纳率:0%
帮助的人:32.8万
展开全部
#include"stdio.h"
void main()
{
char string[81];
int i,num=0,word=0;

char c;
gets(string);
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 line\n",num);
}正确的应该是这个样子的 首先定义出错了应该改成int i,num=0,word=0;这句for(i=0;(c=sting[i])!='\0';i++)里德sting拼错了其它的基本上没错了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(9)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式