這個字串的長度怎麼不一樣

時間 2022-04-06 14:35:11

1樓:匿名使用者

char string="my dream is programmer";

char *p="my dream is programmer";

printf("%c\n",*(p+5));

printf("%d",sizeof(p));

"但是下面這個長度是23,這個正確,上面的為什麼結果不正確,p和string不都是首位址嗎"

回答:你沒搞懂意思, sizeof(p), p是乙個指標. 在32位的作業系統裡, 任何乙個指標的sizeof值都是4,是求其儲存指標(所指位址)所占用的長度,32位共4個位元組.

在64位的作業系統裡, 任何乙個指標的sizeof值都是8,是求其儲存指標(所指位址)所占用的長度,64位共8個位元組 用strlen函式求指標指向的字串長度才是正確的.

2樓:聽不清啊

第乙個程式輸出的是乙個指標所佔的記憶體位元組數;它在不同的編譯器中所佔的位元組數會有不同。

第二個程式輸出的是乙個字元型陣列所佔的記憶體位元組數;字串"my dream is programmer"共22位元組,再加上乙個字串結束符'\0'所以共是23位元組。

C怎麼讓字串定長,C 怎麼讓一個字串定長

比如說,你想讓一個字串的長度為10個長度,如下 string a 10個長度的空白 string inputa 定長字串inputa 介面取得或者使用者給予inputa inputa a inputa inputa.substring 0,10 該字串定長為10,如果不夠後面空格補全,如果過長,則截...

手指為什麼不一樣長,人的手指為什麼長度不一樣?

阿歡的名單 人的手指像現在這個樣子,是適應環境的結果,是逐步進化的結果,你知道人的五個手指為什麼不一樣長嗎? 豆豆科普啦 為什麼我們的手指會長短不一如果手指都一樣長,會怎麼樣 邛奧虎蔚星 手指都一樣長,會很不方便的 杞秀梅乾甲 人類手指不等長可能來自於生存環境的競爭。筆者嘗試由演化的角度來推想,人類...

excel中,名稱一樣,但備註不一樣的怎麼求和

備註 含二建施工圖 的和 sumif j 2 j 10,含二建施工圖 i 2 i 10 沒有備註的和 sumif j 2 j 10,i 2 i 10 都是複雜公建。想含二版施工圖的求和 假設含二版施工圖在j列,對i列求和,根據實際修改求和列 sumproduct c2 c100 複雜共建 j2 j1...