C语言书上说了下面这个源程序是有错误的,可为什么我输入到我安装的VB6.0里,就没错误了 10

源程序:#include<stdio.h>voidmain(){inta,b,r,t;scanf("%d,%d,%d",&a,&b);if(a<b){t=a;a=b;b=... 源程序:
#include<stdio.h>
void main()
{
int a,b,r,t;
scanf("%d,%d,%d",&a,&b);
if(a<b)
{t=a;a=b;b=t;}
r=a%b;
/* * * * * * * *found* * * * * * * */
while(r!=0)
{a=b;
b=r;
r=a/b;
}
/* * * * * * * *found* * * * * * * */
printf("the maximum common divisor is %d\n",a);
}
额 是VC6.0
展开
 我来答
liuchengbodp
2013-04-18 · TA获得超过102个赞
知道小有建树答主
回答量:173
采纳率:75%
帮助的人:67.5万
展开全部
也就看到了两处,
void main()
{
int a,b,r,t;
scanf("%d,%d,%d",&a,&b);//这里一处,这里是要求输入三个数字,而能存入的地址只有两个a与b,剩下的一个如果存错地方就会报错,看看运气好不好了.
if(a<b)
{t=a;a=b;b=t;}
r=a%b;
/* * * * * * * *found* * * * * * * */
while(r!=0)
{a=b;
b=r;
r=a/b;//这里也可能会出错,b为零的话,可能会报错,也可能不会,这些我都碰见过.
}
/* * * * * * * *found* * * * * * * */
printf("the maximum common divisor is %d\n",a);
}
德克and德华

2013-04-18 · TA获得超过2650个赞
知道小有建树答主
回答量:1207
采纳率:100%
帮助的人:619万
展开全部
scanf("%d,%d,%d",&a,&b);这个scanf中的双引号里有三个%d,但是接收的变量只有a和b两个,检查不严格的编译器会忽略这个“错误”,但是,这的确是一个错误。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
DK小黑
2013-04-18 · TA获得超过339个赞
知道小有建树答主
回答量:96
采纳率:100%
帮助的人:83.5万
展开全部
除了第5行scanf语句中多了个%d外,还有两处问题:1.倒数第5行,应该是r=a%b;2.倒数第2行,输出的应该是b的值(不是a)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kexuan0806
2013-04-18 · TA获得超过803个赞
知道小有建树答主
回答量:844
采纳率:0%
帮助的人:361万
展开全部
%d,%d,%d",&a,&b scanf里边就不对应。。vc的debug也不是万能的啊。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xj069100
2013-04-18
知道答主
回答量:27
采纳率:100%
帮助的人:4.9万
展开全部
r你没初始化。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式