C语言编程错误问题~

#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、、请高手指教、、、

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
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-09-26
#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语言中的变量在使用的时候最好是要先定义再使用,还有的就是你这代码中的一些变量的写错了,要仔细点哦
第2个回答  2010-08-02
错误 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吧
第3个回答  2010-08-02
int i;num;word;

中间逗号。。
第4个回答  2010-08-02
注意拼写,细心一点,
第5个回答  2010-08-02
#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拼错了其它的基本上没错了

c语言警告错误怎么修改
在C语言编程中,遇到错误时应仔细分析错误信息,并定位错误的具体位置。若为编译错误,按照IDE提示,找出问题所在,如忘记添加分号等简单语法错误,根据提示进行修改即可。如果是运行时错误,需查看控制台日志,通过日志定位错误源头。例如,若除数为零,程序将报错,需回到源代码,检查并修正对应错误部分,重...

c语言编程为什么会出现Undefined symbol 错误
C语言编程中出现“Undefined symbol”错误,通常是因为编译器在链接过程中找不到某个符号的定义。在C语言编程中,一个“Undefined symbol”错误通常发生在编译和链接阶段。这个错误表明编译器在尝试构建一个可执行文件时,找不到某个函数、变量或符号的定义。换句话说,代码中可能声明...

C语言编程问题,incompatible type for argument 1 of '函数名',请问这...
C语言编程中遇到'incompatible type for argument 1 of '函数名'的错误,通常是因为函数调用时传入的参数类型与函数期望的数组名类型不符。解决这个问题的关键是检查调用函数时的参数,确保其确实是一个数组名,而不是数组的其他类型。解决这类错误的步骤如下:仔细检查代码中调用该函数的地方,寻找可能的...

为什么c语言程序在运行时出现错误?
出现这个报错的原因是:代码输入过程中出现全角输入,将代码中括号、分号等用半角字符替换即可。根据题目给出的提示,请检查一下第51行代码,将51行代码中出现的全角符号替换成半角字符,或者输了重新输入就行。

C语言编程最常见的15个错误
C语言编程最常见的15个错误 C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。以下是关于C语言编程最常见的15个错误,希望大家认真阅读!1.书写标识符时,忽略了大小写字母的区别。main(){ int a=5;printf("%d",A); } 编译程序把a和A认为是两个不同的变量名,而...

c语言中undefined reference to ""怎么解决
在C语言编程中,遇到"undefined reference to ""的错误,通常是因为链接阶段找不到相应的函数实现。这个错误通常是由于编译和链接步骤中对头文件和源文件的管理不当所引起的。以下是解决这个问题的步骤:首先,确保你的代码结构正确。例如,当你在`main.c`中包含`test.h`时,函数`test()`应该已经在`...

c语言编程求纠错~~~
while(scanf("%d",&n)!=EOF){if(n==0)break;a=sg(n);if(a>=10)a=sg(a);printf("%d\\n",a);} 这个循环出错了,如果按你这个代码来执行的话,每次读入一个n的值,循环里都是只计算一次a的值,a的值要么是sg(n),要么是sg(a),然后继续读入新的n的值。要想满足“如果结果是两位...

C语言错误提示identifier'b'是什么意思
1. 当您在C语言编程中遇到错误提示“identifier 'b'”时,这意味着变量b没有被正确声明。2. 在使用变量之前,您需要根据变量b的预期用途声明它的数据类型。例如,如果变量b打算存储整数,您应该使用`int b;`进行声明。3. C语言中的标识符是由字母、数字和下划线组成的字符串,且首字符必须是一个...

C语言,遇到“Expected expression”,怎么也不明白%>_<%,麻烦热心的大侠...
当在C语言编程中遇到"Expected expression"的错误提示时,可能是因为代码中的某些部分不符合语法规则。例如,你提到的可能是if语句的结构问题。一个常见的错误是else后面少了一个语句,或者在if的后面没有正确地使用大括号来包含相关的条件语句。如果你的代码看起来像这样:c if (condition) { \/\/ 代码...

基础C语言编程时易犯错误有哪些
4、printf()和scanf()的参数设置有误,主要表现在以下几方面: l 类型不匹配的问题。(例如:有float a=3.5,但输出的时候printf(“a=%d”,a);则屏幕上会显示出a=0.00000或者提示其它运行错误)。基本原则是:float对应%f, int对应%d, char对应%c。 l 个数不匹配。无论是哪个函数,都可以有...

相似回答