此執行結果是在32位機情況下,後面標準的為每種情況下的執行結果
#include
#include
#include
using namespace std;
void func(char str_arg[100])
int main(int argc, char **argv)
**解析:
sizeof()求取字元陣列長度會將最後結束符'\0'計算在內,所以sizeof(str)=5;c/c++中 strlen(str)和str.length()和str.size()都可以求字串長度。strlen
只計算字元實際長度
,如strlen(str)=4;
p為指標,指標的長度為4個位元組;
字元陣列str_arg[100]作為形參進行傳遞時,退化為指標,所以sizeof(str_arg[100])=4;而strlen計算實際字元長度strlen(str)=5;
當定義指定大小的字元陣列時,sizeof()求出的為所佔空間大小。
其中str.length()和str.size()是用於求string類物件的成員函式size不可用於求指標長度,可用於求string和char *型的字串長度,所求數值為所佔記憶體大小,不為實際大小。strlen(str)是用於求字元陣列的長度,其引數是char*,求取的是字串實際的字元長度。
string 轉換成char* :
string str="hello";char *c;
c=str.c_str();
字串及長度
輸出字串最後乙個字元的長度 s show me your code j 0 for i in s 1 1 if i j 1else break print j 輸出一句話中最長單詞的第乙個單詞和長度 def longestletter s s s.split word s 0 word len le...
c 獲得字元陣列長度及字串長度
1.字串輸入總結 遇到空格結束 2 cin.get 用法1 cin.get 字元變數名 可以用來接收字元 include using namespace std main 請輸入第1個字串 kskr1 請輸入第2個字串 kskr2 請輸入第3個字串 kskr3 輸出m 0 的值 kskr1 輸出m ...
C 字串長度問題
題目 在寫程式中遇到字串的長度問題,總結一下出錯的地方。string s1 123456 char s2 123456 char s3 123456 cout 列印結果為 6 這表示string字串包含字元的長度 32 表示string型變數占用32個位元組 4 表示char指標佔4個位元組 7 定...