輸出 2D 陣列的任何行或列元素的值

發布 科學 2024-06-26
12個回答
  1. 匿名使用者2024-01-30

    這是組合指標和陣列的問題,你必須看看它的這一方面才能弄清楚。 你的 ** 中的 p 指標定義為行指標,它是二級指標位址,它僅通過 p=a 指向陣列的第乙個位址; 這個,如果定義為 int *p; 然後將 p 指標定義為列指標,它是一級指標位址,它通過以下方式指向陣列的第乙個位址:p=*a; p=a[0]; p=&a[0][0];由於不同的指標指向陣列的第乙個位址,因此它們具有不同的表示式來訪問陣列中的元素。

  2. 匿名使用者2024-01-29

    *p)[4] 是乙個列數為 4 的二維陣列,可以理解為有乙個 p 的陣列,其中每個元素都是乙個列數為 4 的陣列。

    p 是乙個一維陣列。

    你的 a 是二維的,所以你必須以這種方式定義它 p=a;

  3. 匿名使用者2024-01-28

    測試結果:

    2,3a[2,3]=23

    請按任意鍵繼續。 .

    **:#include ""

    #include ""

    main()

    int (*p)[4],i,j;

    p=a;scanf("%d,%d",&i,&j);

    system("pause");

    注意:不要在 scanf 末尾新增 i=、j= 或類似內容。 只需獲得輸入即可。

  4. 匿名使用者2024-01-27

    如果使用編譯。

    在程式開頭新增包含""如果您沒有報告錯誤,系統將提示您 a[-858993460,-858993460]=-858993460

    這意味著輸入格式不正確,必須以 i=1,j=2 的格式輸入,其中 1,2 可以隨便更改。

  5. 匿名使用者2024-01-26

    可能是 win7 或虛擬機器中使用的編譯器工作不正常。

  6. 匿名使用者2024-01-25

    沒有錯誤,您將 void main 更改為 int main

  7. 匿名使用者2024-01-24

    int a[3][5];3 行 5 列。

    二維陣列下標遲早從 0 開始,所以第一行第一列的下標是 [0][0]。

    二維姿態陣列 a[j][i] 的元素,其中 j 對應於行並坐標 yi 對應列,對應坐標 x

  8. 匿名使用者2024-01-23

    第乙個是 3,因為測試陣列是 3 行;

    第二個填充 p[i]+j; p[i] 表示行,p[i]+j 表示列。

  9. 匿名使用者2024-01-22

    先確定位置,即確定下標,然後進行輸出。

  10. 匿名使用者2024-01-21

    中位數是指所有值中處於中間位置還是最接近平均值的值?

  11. 匿名使用者2024-01-20

    void print(int *s){}

    傳遞乙個帶有 *s 的二維陣列。 也就是說,二維陣列在水平線上排列,並傳遞陣列的第乙個位址。

    要列印元素,只需找到團隊中的元素數量即可。

    C 語言,二維陣列在水平線上排列的順序為:

    第一行 第一列, 第一行 第二列, 第一行 第三列, 第一行 第四列, 第二行 第一列, 第二行 第二列, 第二行 第三列, 第二行 第四列, 第三行 第一列, 第三行 第二列, 第三行 第三列, 第三行 第四列, a[i,j]:

    a[0,0], a[0,1],a[0,2],a[0,3]

    a[1,0], a[1,1],a[1,2],a[1,3]

    a[2,0], a[2,1],a[2,2],a[2,3]

    s[k]:s[0],s[1],s[2],s[3]

    s[4],s[5],s[6],s[7]

    s[8],s[9],s[10],s[11]

    比較表明,對於 1 行中有 4 列的陣列:

    k = i * 4 + j

    a[i,j] == s[i * 4 + j];

    c 在語言語句中,括號是“運算子”,具有以下標識:

    x[i] == *(x+i)

    S[I * 4 + J] 是簡化為 *(S + I *4 + J) 的恒等式。

    那就是你是 a = *(s + j + i*4 )))。

    實際上,你寫 a = s[i * 4 + j]; 它也可以理解。

    = 函式引數不是 int **s,所以 *(s+i)+j) 不正確。

  12. 匿名使用者2024-01-19

    0 水平,1 縱 : 1

    請按任意鍵繼續。 .

    press any key to continue#include

    #include

    void print(int a[4],int m, int n);

    這是乙個程式,它指定行數和列數,並列印出二維陣列中相應元素的值。 */int main()

    print(a,3,4);

    system("pause");

    return 0;

    void print(int a[4],int m, int n)}else }}

相關回答
12個回答2024-06-26

只需使用 ADO。

要具體**。 >>>More

14個回答2024-06-26

例如,在 ABC 的三列中,您需要將第 2-10 行與第一行相乘並將它們相加。 >>>More

10個回答2024-06-26

我真的不明白你的意思,如果只是提取的話"name"然後: >>>More

9個回答2024-06-26

編寫乙個遞迴方法,你就可以開始了。

16個回答2024-06-26

在第二個示例中,你把 x 作為 char ** 傳遞,當然不會有警告,在第乙個例子中,你傳遞了 a[2][3] 與 char ** 不匹配,所以編譯器會發出警告,可以忽略它。 如果不想看到警告,請在傳遞引數時強制轉換 (char **a.) >>>More