C語言程式錯誤,不知道為什麼

發布 健康 2024-02-09
4個回答
  1. 匿名使用者2024-02-05

    就是這樣!

    #include

    int digit(int min,int max,int x);

    void main (void)

    int max,min,x;

    printf("輸入要查詢的數字 x:,");

    scanf("%d",&x);

    max=9;

    min=0;

    digit(min,max,x);

    scanf( "%d", &x );

    int digit(int min,int max,int x)int m=(max+min)/2;

    int a[10]=;

    if( x> a[m])

    digit(m,max,x);

    return 0;

    if( x < a[m] )

    digit(min,m,x);

    return 0;

    if(x=a[m])

    printf("x 是序列中的 %d 個數字",m);

    return 0;

    分析原因:因為數字迴圈自稱,是不是在棧裡,m變了?

    新增除錯資訊後看結果:(不存在“和”後新增返回 0“) 輸入要查詢的數字 x:5

    x 是序列中的第 5 個數字。

    x < a[m]x 是序列中的第六個數字。

    x > a[m]x 是序列中的第四個數字。

    識別結果:由於迴圈呼叫本身,堆疊中變數 m 的值發生了幾次變化,所以就用我給你的程式吧!

  2. 匿名使用者2024-02-04

    最主要的是if(x=a[m]),if中的值不等於0,所以會引起多個printfs,應該改成。

    if(x==a[m])

    printf("x 是序列中的 %d 個數字",m);

  3. 匿名使用者2024-02-03

    將 return 新增到前兩個 if 塊的方法中

  4. 匿名使用者2024-02-02

    在 C 語言中,僅僅因為程式沒有報告錯誤並不意味著它一定是正確的。 有時,程式可能存在邏輯錯誤或執行時錯誤,導致程式無法執行或輸出不符合預期。 以下是程式無法執行的一些常見原因:

    1.程式陷入無限迴圈:程式在某處有乙個無限迴圈,使程式無法繼續向下執行。 如果程式似乎沒有結束,您可以檢查程式是否有無限迴圈。

    2.記憶體洩漏:當程式使用動態記憶體分配函式(如malloc和calloc)開啟記憶體空間時,沒有及時釋放分配的記憶體空間,導致記憶體洩漏。

    記憶體洩漏將導致系統記憶體資源的浪費,並最終導致程式無法繼續執行。

    3.陣列越界:當程式訪問陣列元素時,超出了陣列的合法索引範圍,導致程式崩潰或輸出不符合預期。

    4.崩潰或異常:程式在執行過程中崩潰或異常,導致程式無法順利執行。 這種情況需要除錯工具來查詢問題並修復它。

    以上是導致程式執行失敗的一些常見原因,您可以根據實際情況檢查您的程式是否存在上述問題。 此外,如果您不確定程式出了什麼問題,請考慮使用偵錯程式來幫助您找出問題所在並修復它。

相關回答
4個回答2024-02-09

引用月份[12][10]; 錯。 如果沒有元素 month[12][10],最多 month[11][9],指標 p 是無用的。 還有刪除所有 +10 級對應的 *。 >>>More

6個回答2024-02-09

你好。 知道財富的價值]。

1 新使用者首次登入 20 完成賬號啟用2 成為 20 賞金積分 提問者,或通過投票選出的人,將獲得系統自動給予的系統設定的 20 賞金積分。 >>>More

9個回答2024-02-09

總的來說,還可以,但由於最近的硬體變化,仍然有一些不完美。 以下是一些建議: >>>More

16個回答2024-02-09

它被稱為去皮魚。

如何用檸檬味的醬汁製作魚。 >>>More

8個回答2024-02-09

你說[我不想讓我這樣亂來]你要做的第一件事就是刪除你的心理活動、你的大腦和你的思想本身,作為各種垃圾和干擾。 重新開始,注意,你要正確理解我的話,對你更有利,力量效果會更有回報。 我不是在責罵你,我只是指出你應該對每個人身上所有的好事和壞事做出的確切決定 >>>More