帮忙看两段代码,两段一样的代码,可为什么运行结果不同呢?

#include<stdio.h>intNum(intm,intn,intd){intx;if(m>n)n=m;if(n>d)x=n;elsex=d;returnx;}v... #include <stdio.h>
int Num(int m,int n,int d)
{
int x;
if (m>n)
n=m;
if (n>d)
x=n;
else
x=d;

return x;

}
void main()
{
int a,b,c,result;
printf("请输入三个整数:\n");
scanf("%d%d%%d",&a,&b,&c);
result=Num(a,b,c);
printf("最大的数为:%d\n",result);
}

#include <stdio.h>
int Num(int m,int n,int d)
{
int x;
if (m>n)
n=m;
if (n>d)
x=n;
else
x=d;

return x;

}
void main()
{
int a,b,c,result;
printf("请输入三个整数:\n");
scanf("%d%d%d",&a,&b,&c);
result=Num(a,b,c);
printf("最大的数为:%d\n",result);
}
展开
 我来答
kingfeng588
2012-11-28 · TA获得超过2494个赞
知道大有可为答主
回答量:1475
采纳率:50%
帮助的人:1849万
展开全部
第一个程序中scanf("%d%d%%d",&a,&b,&c);接收数据时%d%d%%d,这里的%%d,认为是符号,所以c无法接收到数据,默认值为0。

第二个程序中scanf("%d%d%d",&a,&b,&c);这里c是正常接收数据。

所以导致结果不一样。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zjfaok
2012-11-28 · TA获得超过6807个赞
知道大有可为答主
回答量:4146
采纳率:62%
帮助的人:1713万
展开全部
"%d%d%%d"和"%d%d%d"的区别应该能看出来的吧……
追问
还真没看到呢,为什么这样会导致结果不同呢?
追答
目测scanf("%d%d%%d",&a,&b,&c);只能输入两个整数然后跟字符%和字符d,这样后面的语句都不能正确执行了……
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
吥機嘧
2012-11-28 · 超过15用户采纳过TA的回答
知道答主
回答量:105
采纳率:0%
帮助的人:37.3万
展开全部
貌似多了一个%
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式