纪叶 发表于 2023-10-12 17:36:03

题目要求输出较大的数,但我写的代码他只输出a的值

题目要求输出较大的数,但我写的代码他只输出a的值,求路过的大佬帮我看看


#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);
}

isdkz 发表于 2023-10-12 17:36:09

这段代码中只输出了变量a的值,这可能是因为在输入时使用了逗号分隔符,而不是空格。修改scanf语句中的逗号为空格,即可正确输入两个变量的值。

修改后的代码如下:

#include <stdio.h>

int max(int x, int y);

int main() {
    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语句中加上花括号,以增加代码的可读性和可维护性。

Mike_python小 发表于 2023-10-12 17:37:17

你好!根据你提供的代码,我注意到你在输入数据时使用了%d,%d作为格式化字符串来读取两个整数。这是不正确的格式化字符串,应该只使用%d来读取整数。

以下是修正后的代码:


#include <stdio.h>

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

int main() {
    int a, b, c;

    scanf("%d%d", &a, &b);
    c = max(a, b);

    printf("max = %d\n", c);

    return 0;
}


请注意,我将scanf语句中的%d,%d改为了%d%d,这样就可以正确地读取两个整数。另外,我将原来的printf语句中的输出格式修改为max = %d\n,以保证输出的结果符合题目要求。

希望能帮到你!如果你有其他问题,请随时提问。

球一个最佳答案谢谢啦!这对我非常重要!{:10_254:}{:10_254:}{:10_254:}

纪叶 发表于 2023-10-12 21:15:22

Mike_python小 发表于 2023-10-12 17:37
你好!根据你提供的代码,我注意到你在输入数据时使用了%d,%d作为格式化字符串来读取两个整数。这是不正确 ...

谢谢大佬 但是报错了 贴不了照片 所以我直接搬报错信息过来了

Error: Invalid type ' int' in declaration of 'a,b,c'
错误文件路径(error file path):/var/mobile/Containers/Data/Application/E1E9F8B6-7560-494A-B186-4B76850B29F6/Documents/KepData/
script/4.cpp
哪行出错(wrong line):11
Error: Symbol int abc is not defined in current scope
错误文件路径(error file path):/var/mobile/Containers/Data/Application/E1E9F8B6-7560-494A-B186-4B76850B29F6/Documents/KeepData.
script/4.cpp
哪行出错(wrong line):11
!!! return from main() function

纪叶 发表于 2023-10-12 21:16:11

isdkz 发表于 2023-10-12 17:36
这段代码中只输出了变量a的值,这可能是因为在输入时使用了逗号分隔符,而不是空格。修改scanf语句中的逗号 ...

谢谢大佬指点 你的代码真好看
页: [1]
查看完整版本: 题目要求输出较大的数,但我写的代码他只输出a的值