c 陣列

發布 科技 2024-05-07
5個回答
  1. 匿名使用者2024-02-09

    首先,確保程式中的 b 正確分配給您輸入的值,並使用 printf 將其鍵入。

    那麼,if(b!= sh[a]) 是有問題的。

    在迴圈結束時,a 的值應為 10。 在 C++ 中,陣列索引從 0 開始,陣列中的第十個下標是 9。 在這種情況下,使用 sh[a] 訪問的內容實際上已經超出了陣列邊界,這稱為越界。

    c 在 C++ 程式中越界訪問的內容是不確定的。 有關跨境訪問的定義,有關詳細資訊,請參閱 C++ 語言。 有很多原則和內容,這裡就不一述了。

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

    你的錯誤是 sh[a] 的值在迴圈後已經設定為 10,所以會發生錯誤,下面是可以除錯的修改後的程式,可以正確執行結果。

    #include

    main()

    int i,b,a[10];

    scanf("%d",&b);

    for(i=0;i<10;i++)

    a[i]=i+1;

    if(a[b-1]==b)

    printf("平等");

    elseprintf("不相等");

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

    你**:

    if(b!=sh[a])

    printf("不相等");

    elseprintf("平等");

    意思是:當 b 不等於 10 時,列印“不等於”並按回車鍵,其他,列印“等於”並按回車鍵。

    我不想教你如何改變它。

    而如果你只想實現“如果輸入數等於 1 10,它會顯示它等於,如果不等於,它會顯示它不等於”,你根本不需要陣列,只要你定義乙個 int 型別的變數, 比如 i,然後做迴圈。

    具體我就不給你了,你自己想想吧。

    事實上,你可以這樣做,先對你輸入的數字進行四捨五入,然後比較大小,比如 b=b%1,然後,當 sh[0]=

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

    事實證明,它是 C,而不是 C++。

    const size_t arr_sz = 10;

    int arr[arr_sz],num(0),flag(0);

    num)arr[sz++]= (int)sz + 1;

    if (num != arr[sz])

    flag = 1;標記,0 相等,1 不相等。

    break;

    if (flag == 0)

    count <<"平等" count <<"等待"<

  5. 匿名使用者2024-02-05

    在迴圈中初始化陣列後,a 的值變為 10,sh[10] 當然不等於 b。

相關回答
7個回答2024-05-07

在整個 main 函式中,只有這乙個變數,無論是第乙個 for 還是第二個 for,都是相同的 i,第二個 for 將有 i=-1,在 i= -1 的情況下,和 printf("%d ",a[i]);陳述。 所以不要害怕! 當案例沒有秒數時: >>>More

8個回答2024-05-07

二維陣列位址 - >行位址 - >列位址(變數位址) - >變數值,或為您摘錄描述。 >>>More

3個回答2024-05-07

Heada 和 headb 都是具有前導節點的單鏈表。 在這個演算法中,我們從 heada 鍊表的第 i 個元素中刪除公共元素,然後在 headb 的第 j 個元素之前插入單鏈表 heada。 >>>More

7個回答2024-05-07

我覺得lz只是想列印出a的位址和a+1的位址這裡,a是陣列的起始位址,所以&a把a的位址作為變數,也就是儲存陣列位址的位址,但是如果(a+1)有位址,那就不對了, 因為(A+1)這裡不是定義的變數,而是臨時變數的值,所以只等於陣列起始位址的下乙個位址的值,而不是儲存值的變數,取位址是不對的。 >>>More