c语言的问题,我是初学者一个。下面的程序为什么可以编译但会停止运行?

c语言问题 我是初学者 刚开始学的时候 编译器写好了 要往cmd里面打 可是 打完以后执行 却 出现了什么未定义 什么鬼

第1个回答  2018-05-04
贴出你的代码追问

#include
int main(void){
printf("中午\n");
printf("晚上\n");

return 0;
}

追答

#include
你确定你写的程序能通过编译?写了代码首先确保能通过编译,要不然,编译系统都不认识,它怎么帮你编译你的代码,变为可执行的目标文件呢?刚开始写代码时,要一个一个字母的比对模板,每个字符都要对上,这样你才会记得为什么出错。

追问

就是没通过编译 然后出现了什么winmain@16未定义 也没有出现a exe

就是没通过编译 然后出现了什么winmain@16未定义 也没有出现a exe

就是没通过编译 然后出现了什么winmain@16未定义 也没有出现a exe

追答

你用的什么系统,linux 不是windows,为什么不在集成环境来学程序呢?

追问

Windows 因为我觉得容易懂 所以我才用这个

追答

在windows时,你会用工具GCC或其他编译c代码没有?在cmd里可是直接用工具编译,计算机基础要不错才行喔

追问

我基本都是看视频自学的 这些我都有了解过

追答

看视频只能入门,入门后还是跟着教科书练习才行,有了基础,再去理解编程理念,再理念转为功能代码,唉,路漫漫兮,吾将上下而求索。?!?!?1

第2个回答  2018-05-04
关于 C 语言程序出错的类型有很多。例如:语法错误、隐藏的未知错误等。其中:语法错误是最容易排除的。例如:int num = 10 ,如果在该语句后面缺少了一个分号,那么编译器就会报错(正确的语句应该是:int num = 10 ;);但是隐藏的未知错误,那么调试起来可就是非常困难了,如果没有丰富的编程经验,那么当程序出现故障时,是很难调试的,例如如下程序代码:
void main( )
{
float num1, num2 ;
scanf("%f %f", &num1, &num2) ;
printf("result is : %f\n", num1/num2) ;
}
像这个 C 程序中的错误,无论从程序的逻辑性上进行检查都是正确的:首先从键盘输入两个浮点数,然后输出这两个浮点数相除的结果。
但是该程序中缺少了一个重要的判断语句就是:除数不能够为零!!只要你的除数不为零,那么你测试多少次,结果都是正确的,但是一旦除数为零了,例如:10.0/0.0,那么系统必然会崩溃的!!
像这类 C 语言错误,编译器是绝对检查不出来的,这个就需要丰富的编程经验、以及编写程序代码的严谨性了。
所以说你必须要把程序的详细源代码写出来,别人才能够帮助你进行分析。
你把所有的中文分号更改为 英文的分号,另外,应该是:stdio.h就正确了。祝你成功!!
#include <stdio.h>
int main(void){
printf("中午\n");
printf("晚上\n");
return 0;

}本回答被网友采纳
相似回答