输入编译代码却不能调试
A. Dev C++ 5.6.3 可以编译但是不能调试 E:run: No such file or directory.。。。 求解。。。
1.没有保存或没有编译等诸如此类没有做准备工作的原因;
2.如果不行,关掉Dev c++重来;
3.如果实在不行,我也无能为力。
我用Dev c++试了一下,在我这边用Dev c++可以编译与调试,也可以执行,可能是你那边出了些小问题,把电脑或Dev c++软件重启一下,应该就没问题了,问题不在于程序。
B. c语言求解,为什么不能调试
我仔细阅读了你的 C 语言源程序,你的程序没有任何问题。程序功能就是交换两个正整数的数值。我的建议是:你首先检查一下你的 C 语言程序中的引号、括号、大括号、以及分号等是否均为小写英文字符?如果确认你的程序中的所有符号均为小写英文字符,那么你把该程序拷贝到另外一台有 C 编译器、并保证是能够正确编译、运行的机器上试试看,如果可以编译、运行的话,那就是你的机器上的编译器有问题了,你重新安装一下试一试。
C. 为什么C语言程序编译正确但不能执行
这哪是编译正确,这是有一个语法错误的意思,这样的程序是无法运行的。
最后一句的语法错了
应该是printf("%4d
%d\n",i,slect[i]);
双引号中间是格式控制字符串,用于控制输出的字符串以及变量的格式,
变量需要放在双引号外头,用逗号分隔。
D. 为什么编译成功而调试失败
这些代码没问题,只是运行和设想的不一样!最后只输出一个换行,没输出回车!然后在很多时候一闪而过程序结束!
E. 程序编译成功但不能运行是什么原因
需要看一下警告信息。
在代码中加一些输出语句或者进行调试,如果还无法修改,再来提问。
F. dev c++为什么为什么不能调试
这个很正常..因为编译过的代码不是专门用于调试的...所以如果你要进行调试的话..系统会按照适合于调试的模式重新编译一次来方便于调试..有点向DEGUG 跟 RELEASE 的区别
G. 【快来帮我~~】为什么我的C语言程序可以编译等都通过 但是运行起来之后就出现调试 不能运行呢
1. “MGraph G;”没有初始化。
建议做一下修改:
void InitGraph(MGraph& G)//创建一个函数用来生成G图
{
int i,j;
G.vexnum=4;
...// 其他同,把" return G;"去掉。
void ShortestPath()
{
MGraph G;
... // 其他同
scanf("%d",&v);
InitGraph(G); // 加上这一句
...
2. “for(v=0;v<G.vexnum;++v)”, v保存着输入的值,但这里又重新赋值为0.
是不是应该是“for(v0=0;v0<G.vexnum;++v0)”?
H. 为什么c++编译器不能运行调试
出现这种情况的原因可能有很多,最常见的就是源代码和程序不匹配导致的,可以这样设置 工具-》选项-》调试 将其中的“要求源文件与原始版本完全匹配”的钩去掉,然后再试试看。
I. vs2010中正确的代码修改后为什么不能调试
一般是因为指出的那个exe文件正在运行之中,应该是你的编的程序,正在运行肯定不能被改写,新的程序也就不能编译链接成功啦.
打开任务管理器看看,找到那个exe文件,结束任务,再进行编译和调试.
J. c语言编程,编译成功,但是调试失败~!!怎么回事。。求助~~
楼主你好!
你是不是发现编译没有报错!但是一旦运行就会进入异常而中断报错!
我通过调试发现是栈溢出而造成的异常中断!
这个问题还得从你的 float x[60000][15] 说起。且不算后面定义的变量,通过计算我们知道大概将近3.6M左右!
这个设计到程序的堆栈问题!不知道你是否了解程序的反汇编,简单的说,每个程序都有自己的栈,你定义的局部变量就在这个栈上!而这个栈不是无限的大的,在Windows下,栈是向低地址扩展的数据结构,是一块连续的内存的区域。这句话的意思是栈顶的地址和栈的最大容量是系统预先规定好的,在WINDOWS下,栈的大小是2M,如果申请的空间超过栈的剩余空间时,将提示overflow!具体可以去了解一下程序的反汇编!
因此,你代码本身没有错误,但是运行不起来是栈溢出了!
如果,你还是想要分配60000个15个成员float类型的数值,那你就得使用malloc来申请空间,malloc申请的空间是在堆上的,malloc函数你自己可以去了解,这个跟栈是不一样的,有兴趣可以去了解堆和栈的区别!
以上是我的看法,希望我的回答对你有帮助!