C语言求最大公约数

[复制链接]
查看11 | 回复3 | 2012-11-4 17:16:25 | 显示全部楼层 |阅读模式
while(scanf("%d%d",&a,&b)!=EOF);,这个语句错了 ,这里涉及到scanf的返回值问题,如果没猜错的话,楼主想用这个循环来判断输入是否合法,这里scanf的返回值是输入的元素个数,比如输入了8,4,这时候返回值就是2,接着后面的语句EOF的话,是0,2肯定不会等于0,所以这里就会变成一个无限循环,所以把那个EOF改为:2就可以了,正确代码如下#include#includeint zd(int a,int b){ int r=a%b; while(r) {a=b;b=r;r=a%b; } return b;}in...
回复

使用道具 举报

千问 | 2012-11-4 17:16:25 | 显示全部楼层
#include#includeint zd(int a,int b){ int r=a%b; while(r) {a=b;b=r;r=a%b; } return b;}int main() {int a,b; while(scanf("%d...
回复

使用道具 举报

千问 | 2012-11-4 17:16:25 | 显示全部楼层
程序没有错误。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行