A. 为什么自己编译的c语言程序会一闪而过
这是因为电脑运行得很快,
而你编写的程序里面肯定没有让电脑可以停歇的语句,电脑执行完程序后就自动关闭,只有想办法让它停下等咱们才能看清楚
所以建议在程序的最后加一句getchar();这时,你要加入头文件#include<conio.h>。
因为这个头文件是键盘和屏幕输入输出的控制头文件。当然也有别的方法,就等你了解其原理时就知道该怎样了
B. C语言里程序编译无误但运行会弹出程序已停止运行是为什么
造成程序停止运行弹框出错的可能原因如下:
内存溢出
内存溢出(out of memory)通俗理解就是内存不够,程序所需要的内存远远超出了主机内安装的内存所承受大小,就叫内存溢出。系统会提示内存溢出,有时候会自动关闭软件,重启电脑或者软件后释放掉一部分内存又可以正常运行该软件
造成内存溢出的原因可能有:
1>栈区溢出,例如在main函数内开辟的数组空间过大,一般机器的栈区限制在8MB左右,如果开辟的数组大小超过限制,程序就会崩溃。通常的解决方法是申请堆内存,即将较大的数组作为全局变量开在main函数之外。
2>错误地址访问,常见的非法访问包括指针漂移,数组越界等,初学者也经常出现类似scanf函数没加区地址符号&的情况导致在读取变量的时候因非法访问造成的溢出。
3>数据类型不符,问题和第二个类似,例如在声明变量时声明为int在输出变量时却用了%lld,就会造成因数据类型不符而导致的溢出。
编译器错误
部分编译器由于所使用的标准不同(例如在一台机器上使用的可能是C99标准,而另一台机器上使用的是C11标准),或是因为编译器链接库的损坏,在少数情况下也可能导致程序出现不限于崩溃退出的异常错误,通常解决方法是到编译器官方网站下载最新版的IDE安装。
C. 为什么我用易语言编译程序是跳出个窗口
你用的是试用版,请购买注册。
D. 为什么我的软件vc6.0编译时没什么问题,到运行时输入数据反应很慢,然后就自己跳出已停止工作的对话框
int *a=(int *)malloc(Q*sizeof(int));
int *b=(int *)malloc(Q*sizeof(int));
你的Q还没初始化 就使用 这个数很大 所以分配的空间很大。
E. 这是我编一程序,编译的时候没有提醒出错,可是运行时候,C编译器就自动跳出,请问是不是我的C编译器的问
编译器没问题
你的程序编错了
F. 在编译单片机编程的时候,为什么老是有程序跳过的错误出现
未调用函数就略过