为什么在编译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
可能是你没有输出结果吧?
相似回答