查詢整數陣列長度的問題

發布 科技 2024-08-01
5個回答
  1. 匿名使用者2024-01-31

    這個函式是乙個查詢字串長度的函式,字串的末尾是 0x0,即 null,你正在查詢整數陣列的長度,你可以用 sizeof(la) sizeof(list) 找到它, 注意:因為sizeof是由編譯器預處理的,所以不同的編譯器可能會導致結果是指標長度和陣列的長度, 以及 vc 下陣列的長度。

    int listlength(list *l)return count;

    如果有什麼不明白的地方,請通過baiduhi再問我。

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

    #include

    typedef int list;

    int listlength(list *l) ,i;

    i = listlength(la);

    printf("%d", i);

    首先,它允許您編譯。

    其次,你想錯了。

    查詢陣列的長度是 sizeof(la) sizeof(list) 錯誤的原因,p!=null 不正確,當 p 指向陣列外時,p 仍然是有效位址,不能為 null。 所以它無法實現。

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

    有兩個錯誤:

    list *p=l;

    while (*p!=null)

    糾正錯誤後,可以執行,但結果不是我想要的。

    為什麼?

    因為這個演算法是有問題的,所以無論 null 怎麼改為'\0',或者其他問題。

    除非它是乙個字串,但這是乙個整數陣列。

    那麼你真的需要知道陣列的長度可以和 sizeof 函式一起使用。

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

    1. 在 C 語言中,您可以在定義陣列後使用 sizeof 命令獲取陣列的長度(可以容納的元素數)。 例如:

    int data[4];

    int length;

    length=sizeof(data)/sizeof(data[0]);陣列占用的總記憶體空間除以單個元素占用的記憶體空間量。

    輸出長度 data[4]=42,但是,通過將陣列名稱引數傳遞給子函式來獲取陣列長度是不可行的。

    例如:int getlength(int a) 因為,a 是乙個函式引數,在這個函式中,a 只是乙個指標(address,當系統執行在這個函式中時,它不知道 a 所代表的位址有多少資料儲存空間,這裡它只是告訴函式:乙個資料儲存空間的第乙個位址), 因此,sizoef(a) 的結果是指標變數 A 在記憶體中的大小,在 32 位計算機上通常為 4 個位元組。

    a[0] 是 int 型別,sizeof(a[0]) 也是 4 個位元組,所以結果總是在陣列定義所在的 ** 區域使用上述方法才能實現陣列的長度。

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

    邏輯錯誤。

    你是乙個字串,你不知道拆分的長度,所以 i<10 什麼的,字串長度預設為 9(因為 0 的問題)。

    如果輸入的字元超過 10 個,則會出現錯誤,如果 = 10,則會造成混淆。

    這很可能是問題所在。

    您的輸入有問題。

    圖 = 9 案例。

    積極因素包括

    #include

    int main()

    char c1[10]=,c2[10]=,c[20]=;

    scanf("%s%s",c1,c2);

    int i,j;

    for(i=0;i<=strlen(c1);i++)c[i]=c1[i];

    for(i=0,j=strlen(c2);i<=strlen(c2);i++,j++)

    c[j]=c2[i];

    printf("%s",c1);

    printf("%s",c2);

    printf("%s",c);

    return 0;

相關回答
5個回答2024-08-01

前兩個 ** 確實說陣列的長度是用變數定義的(稍後會詳細介紹),但黑匣子中的 ** 不是,這是取 arr 陣列的下標 i 的值並將其分配給 te - 這是乙個合法的操作,無論 c 還是 c++。 純 C 編譯器不允許變數定義陣列的長度,並且無法傳遞編譯。 後來的 C++ 編譯器允許這樣做,但大多數用於定義陣列長度的變數都應該用 const 修改,稱為值不變數,但純 C 編譯器不允許定義陣列的長度,即使變數用 const 修飾。 >>>More

24個回答2024-08-01

你可以使用 strlen 函式來獲取 C++ 中字元陣列的長度,例如計算字元陣列 a 長度的語句是 i=strlen(a)。 >>>More

7個回答2024-08-01

嚴格來說,這兩者都不是字串,因為沒有 0 終止符。 >>>More

28個回答2024-08-01

方法:1)為每個元素分配初始值。例如:

char a[12]=; >>>More

9個回答2024-08-01

scanf("%d",str[i][j]);它應該是 scanf("%d",&str[i][j]); >>>More