为什么在编译C++程序的时候是没有错误的,但是运行的时候就是出不来结果

求大师指点,为什么会这样的
#include <iostream>
using namespace std;
int main()
{int p,q,r;
cout<<"please input two integers"<<endl;
cin>>p>>q;
if(p<q)
{r=p;
p=q;
q=r;
}
r=p%q;
while(r=!0)
{p=q;
q=r;
r=p%q;
}
cout<<"The maximum common divisor is"<<q<<"."<<endl;
return 0;
}
书上的例题都有错的,坑死了

编译通过只是说明没有语法错误,运行不出结果就是你代码逻辑问题了
贴代码看看吧,自己打断点调试一下

while(r=!0)
写反了吧, r != 0
否则就成死循环了。。。
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-06-01
没有编译错误, 有逻辑错误;

你最好把代码贴出来看看;
第2个回答  2013-06-01
你可以跟踪调试一下就知道了
第3个回答  2013-06-01
可能是你没有输出结果吧?

为什么编译正确的c++程序在运行时会停止工作
编译只是保证没有语法错误,但是不能保证你的程序的算法没有错误,如果你的程序中有比较严重的Bug,如果说访问了系统保护的内存,出于保护,windows会中止你的程序,或是抛出一个异常,如果异常没有被捕获并加以处理,程序也会中止,当然,这时你也有机会用调试工具去debug。这种运行期的错误是需要程序员去...

c++程序没有错误 但是运行结果窗口没有内容
少了cout<<语句,或者就是没执行你的cout<<语句,再者就是你的cout<<语句输出的是控制符\\t\\n类似的东西,显示不出来。

C++程序,为什么编译通过了,执行时却出现错误
编译通过是因为你没有语法问题,运行出错是你的程序有逻辑问题,空指针,内存漏洞等程序问题

在C++中运行程序,为什么在编译时没有问题,但是回到程序的执行时,就会...
其中最常见的是数组访问越界和野指针问题,当然也有部分野引用问题也会造成运行时崩溃。所以你要通过改变编程风格或者确保每次进行内存的相关操作的时候尽力谨慎。前者可以参考 effective C++ 系列和imperfect C++这些书。另外你编写的代码有很大的问题:Bitnode *gen;\/\/根节点 int sum;全局变量只在本文件有...

我编了一个c++程序,语法没有错误,但是不能执行,每次那个黑框就弹出一...
这是因为你生成的程序是命令行方式的,不是windows的GUI方式. 命令行方式在"命令提示符"环境下运行才正常,用"开始"-"运行"或在集成调试环境下运行要加getch();或system("pause");让它暂停以便观察."开始"-"运行"-, 输入cmd命令即可进入命令行方式....

devC++程序没错啊,可是为什么运行结果出错?
计算过程中溢出了,long型在32位计算机上表示的最大整数为2的32次方减一,也就是 4294967295

求助:为什么我编的C++程序在自己电脑上能正常运行,但编译后挂在后台linu...
机器不同,编译出为的目标代码就不同,这就是为什么总有人说C程序不好的一个原因。C编译出来的代码是与当前机器类型和操作系统直接相关的!一模一样的机器,不同的操作系统,其执行程序代码是不同的。一样的操作系统,不同的机器类型,其执行程序代码也是不同的。除非是两台机器一模一样,操作系统也...

C++程序编译没有问题,点击运行或者CTRL+F5无任何反应
你需要把输出窗口调出来,如图里面的黑色界面。要是你已经调出来输出窗口了,还没反应的话,你那在确定vc是否这在编译,看软件左下方的状态栏,是否正显示“正在编译中……”,你可能会说这么短的程序还需要编译那么久吗!但是这种情况是常见的,也就是你的软件编译文件路径没设置好导致的。

为什么C++编写的程序第一次运行没错,之后运行就出现 出现程序错误
可能是第二次运行时,这句没成功,而你没有判断就直接操作文件,所以出现未知错误,你在这里设一个断点看看。fp=fopen("data2.txt","w+");

我用Dev-C++编程,程序代码没有错,为什呢运行后不显示结果?
又一个悲剧的,翻译以下就是:runtime_error(运行时错误)程序一切ok 如果是win7专业版或旗舰版64位系统,找到目录下的exe文件,右键--属性--兼容性--以xp兼容模式运行;

相似回答