注册 登录
编程论坛 C语言论坛

新手求指教,为什么返回得值都是第一个数值?

威猛的小绵羊 发布于 2023-01-18 15:05, 851 次点击
#include <stdio.h>
int max(int , int );
int main()
{
    int a, b;
    printf("请输入2个数值");
    scanf_s("%d和%d", &a, &b);
    printf("输入得最大值是%d", max(a, b));  
}
int max(int x, int y)
 
{
    int maxi;
    if (x > y)

        maxi = x;
    else maxi = y;
    return maxi;
    }                          为什么输出得值都是显示第一输入得值,不上比较后大得那个值
只有本站会员才能查看附件,请 登录
5 回复
#2
rjsp2023-01-18 18:48
按照你的代码,你应该输入
请输入2个数值4和6
而不是
请输入2个数值4 6

按照你的输入,代码应该是
scanf_s("%d%d", &a, &b);
而不是
scanf_s("%d和%d", &a, &b);
#3
renkejun19422023-01-19 21:04
你的输入出现了问题,按照你的代码,你应该输入:4和6
#4
Xovery2023-01-25 15:04
你输出的必须和scanf中双引号之间的格式一模一样
#5
kv4624800612023-01-28 11:28
要么把scanf中间的"%d和%d"改成"%d %d",要么你就输入4和6
#6
billliu662023-01-31 16:25
这样就可以了
#include "stdafx.h"
#include <stdio.h>
int max(int, int);
int main()
{
    int a, b;
    printf("请输入a");
    scanf_s("%d", &a);
    printf("请输入b");
    scanf_s("%d", &b);
    printf("输入得最大值是%d", max(a, b));
}
int max(int x, int y)

{
    int maxi;
    if (x > y)

        maxi = x;
    else maxi = y;
    return maxi;
}
1