有一种方法可以试试,我用了是可以的
首先打开菜单 项目->项目属性页
1。选择 配置属性->链接器->调试->生成调试信息 改为 是
2。选择 配置属性->C/C++ ->常规->调试信息格式 改为 用于“编辑并继续”的程序数据库(/ZI)
3。选择 配置属性->C/C++ ->优化->优化 改为 禁用(/Od)
重新编译,运行
无法运行可能遇到的问题: 编译没错,但是运行后d出内存相关报错------》有逻辑错误,或者内存调用错误 运行直接闪退---------------》有可能该程序无任何执行结果输出语句,或者使用编译器(or IDE)与 *** 作系统不兼容 暂时只能想起这么多了。
您好,很高兴回答您的问题。
在c语言中,程序的错误分成两种,一种是语法错误,程序在进行运行过程中会检测出来,并且给出错误的大致位置和原因,另一种错误是逻辑错误,说通俗点就是程序没有语法错误,但是程序内部出现了不符合题目本意的错误,导致不能得出正确结果,这种误是没有提示的,要编写者自己去发现。估计您的程序出现了第二种错误,所以需要您仔细分析哦。
首先,s和i 没赋初值,应该在scanf前加上两句:s=0;i=0;其次,数组a也没有完全赋值,在循环内应该再加上scanf语句。最后,if(a[i]>ave);这句话有问题,执行循环完后,i=10,直接访问a[10]会造出溢出,if语句后面也不该有分号。要改成if(a[i-1]>ave)修改后的程序如下:
#include<stdioh>
void main()
{
int i;
float s,ave,a[10];
s=0;
i=0;
scanf("%f",&a[i]);
for(i=1;i<10;i++)//这里没分号!
{
scanf("%f",&a[i]);
s=s+a[i];
}
ave=s/10;
printf("%f",ave);
if(a[i-1]>ave)
{
printf("%f",a[i-1]);
}
}
以上就是关于C++2005中调试出现问题。程序没错误,但调试时却出现无法找到调试信息全部的内容,包括:C++2005中调试出现问题。程序没错误,但调试时却出现无法找到调试信息、帮检查一个c语言错误,程序不提示错误但无法运行、c语言程序显示没有问题但运行结果是空白的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)