为什么我编译的结果不对?

是我的VC6.0编译器不对吗?
#include <stdio.h>
int main()
{
int max(int x,int y);
int a,b,c;
scanf ("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d \n",c);
return 0;
}


int max (int x,int y)
{
int z;
if(x>y) z=x;
else z=y;
return (z);
}


谭浩强书上的简单例子,无论我怎么输入。出来的总是第一个数。另外如果我把 if语句的>改为<,出来的是随机的乱数。

main函数前没有声明max函数谢谢,谢谢二楼,可是我改过以后还是一样的。

我输入了很多次,总是返回值是第一个数。比如15 25,跳出来就是15.如果25 15 跳出来就是25.我装的是VC6.0绿色版,网上下载的。网上下载了很多完整版都没法用。初学者好难入门哦。。。。

推荐  (0) | 6人关注关注
4个答案
0 0

main函数前没有声明max函数谢谢

0 0

程序没有问题。
请说明你的数据输入情况。

0 0

这样写C的习惯不好,不要刻意把代码挤到一行,不要节约{}

0 0

根据我的经验,是这一行的问题:
scanf ("%d,%d",&a,&b);

这其实是不好的,它会找你的
[Integer] [,] [Integer] 这样的pattern

你必须输入比如 [7,8] 这样的字符串才能被正确的scanf赋值
其实你可以
scanf("%d%d",&a,&b);
然后你随便写
1
2
或者
1 2
这样能比较flexible的获得需要的内容

查看更多

添加回答

登录 后回答问题,你也可以用以下帐号直接登录

相关问答

关于我们 加入果壳 媒体报道 帮助中心 果壳活动 家长监控 免责声明 联系我们 移动版 移动应用

©果壳网    京ICP证100430号    京网文[2018] 6282-492号    新出发京零字东150005号     京公网安备11010502007133号

违法和不良信息举报邮箱:jubao@guokr.com    举报电话:18612934101    网上有害信息举报专区    儿童色情信息举报专区