c语言运行结果错误

c语言运行到一半出现error是怎么回事呢?

C语言程序运行出现exe停止工作的原因是因为内存溢出和编译器错误

第一种:内存溢出

内存溢出(out of memory)通俗理解就是内存不够,程序所需要的内存远远超出了主机内安装的内存所承受大小,就叫内存溢出系统会提示内存溢出,有时候会自动关闭软件,重启电脑或者软件后释放掉一部分内存又可以正常运行该软件

第二种:编译器错误

部分编译器由于所使用的标准不同(例如在一台机器上使用的可能是C99标准,而另一台机器上使用的是C11标准),或是因为编译器链接库的损坏,在少数情况下也可能导致程序出现不限于崩溃退出的异常错误,通常解决方法是到编译器官方网站下载最新版的IDE安装

举例说明:

1除以零

2数组越界:int a; a[10000000]=10

3指针越界:int * p; p=(int *)malloc(5 * sizeof(int)); *(p+1000000)=10

4使用已经释放的空间:int * p; p=(int *)malloc(5 * sizeof(int));free(p); *p=10

5数组开得太大,超出了栈的范围,造成栈溢出:int a[100000000],没有开辟内存 List L=(List)malloc(sizeof(struct LNode))runtime  error (运行时错误)就是程序运行到一半,程序就崩溃了

扩展资料:

C特有特点:

1C语言是一个有结构化程序设计具有变量作用域(variable scope)以及递归功能的过程式语言

2C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)

3不同的变量类型可以用结构体(struct)组合在一起

4只有32个保留字(reserved keywords),使变量函数命名有更多弹性

5部份的变量类型可以转换,例如整型和字符型变量

6通过指针(pointer),C语言可以容易的对存储器进行低级控制

7预编译处理(preprocessor)让C语言的编译更具有弹性

参考资料:C语言-百度百科

C语言程序执行出来结果错误#includeint main() { double sum=0; int n=0,t=-1; while(n<=100000) { if(n%7!=0) { t=-t; sum=sum+n*t; n++; } else { t=-t; n++; } } printf("%lfn",sum); return 0; }

(随机推荐阅读本站500篇优秀文章点击前往:500篇优秀随机文章)
来源:本文由易搜IT博客原创撰写,欢迎分享本文,转载请保留出处和链接!