首页 > 解决方案 > C中值分配的分段错误

问题描述

您好,我正在学习 C 并尝试编写代码来比较 3 个数字并告诉我哪个数字最大。

#include <stdio.h>
int max(int a, int b){
    if(a > b){
        return a;    
    }
    return b;
}
int main()
{
    int a, b, c;
    printf("Please provide the first number --> ");
    scanf("%d", &a);
    printf("Please provide the seceond number --> ");
    scanf("%d", &b);
    printf("Please provide the third number --> ");
    scanf("%d", &c);
    int big = max(max(a, b), c);
    printf("The biggest number is --> ");
    printf(big);
    printf("\n");
    return 0;
}

我在一个名为 onlinegdb.com 的网站上写了它,但是在我输入 3 个数字后,我在尝试找出错误后出现分段错误错误,这表明将 max 的结果插入 big 似乎存在问题

标签: c

解决方案


我认为这可能是由于这行代码

 printf(big);

尝试使用:

 printf("%d", big);

基本上你忘了放格式说明符。


推荐阅读