24小时热门版块排行榜    

CyRhmU.jpeg
查看: 1493  |  回复: 10
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

780331691

铁虫 (初入文坛)

[求助] 求两个值中最大的值但编写的代码不知道哪里错了,求大神帮忙。

我输入 1,3     得到结果是1,求大神帮我看看
# include<stdio.h>
int main(void)
{  
        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);
}
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

子墨祭

新虫 (初入文坛)

【答案】应助回帖

感谢参与,应助指数 +1
骚年,函数调用的值传递是单向传递!!!!记住了。

所以 int max(x,y)只是形参的值改变了,但是实参的值并没有变!想要得到改变的值必须用 指针/数组作形参。


另外 求最大值 用选择表达式最佳  
max=a>b?a:b;

希望对你有用
6楼2013-09-28 10:43:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 11 个回答

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖


感谢参与,应助指数 +1
xzhdty: 金币+1, 感谢参与谢谢骠骑将军 2013-09-27 19:16:29
看这句: scanf("%d,%d", &a, &b);
要求输入的时候2个数字用逗号隔开,不能有空格
你输入1, 3比较的就是1和空格,所以1大.
输入1,3可以输出正确答案.
scanf的格式要求非常严格
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
2楼2013-09-27 16:11:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

梁宽

铜虫 (小有名气)

【答案】应助回帖


感谢参与,应助指数 +1
xzhdty: 金币+1, 感谢参与 2013-09-27 19:16:42
代码没问题吧。可能是你输入的数据格式不正确

[ 发自小木虫客户端 ]
大一新生,要加油!!
3楼2013-09-27 17:23:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

johnnyhu

银虫 (初入文坛)

【答案】应助回帖


感谢参与,应助指数 +1
jjdg: 金币+1, 感谢参与 2013-09-27 22:27:19
scanf("%d,%d", &a, &b);
把"%d,%d"中间的逗号去掉就可以了。然后输入的时候打一个空格就可以了。
4楼2013-09-27 21:56:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见