簡體   English   中英

C 中的值分配分段錯誤

[英]segmentation fault at value assignment in 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 似乎存在問題

我認為這可能是由於這行代碼

 printf(big);

嘗試使用:

 printf("%d", big);

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

printf 的第一個參數是格式字符串,后跟任何值

printf("%d\n",big);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM