本文目錄一覽:
- 1、C語言 字元串長度
- 2、c語言字元串的長度怎麼看
- 3、c語言字元串長度問題
- 4、C語言求字元串長度的問題
- 5、如何在c語言中計算字元串長度
- 6、C語言字元串長度問題
C語言 字元串長度
這個字元串長度為10個字元。
你可以用strlen(“ab’1’\\\12803”)來求這個字元串的長度。
也可以用sizeof(“ab’1’\\\12803”)來求,但是這個求出的結果是多了一個字元串結束符\0。
你可以試著輸出這個字元串看看是不是10個字元。
實際上,這10個字元分別為:
1、a
2、b
3、’
4、1
5、’
6、\\(\\表示:前一個表示這是一個轉義字元,後一個才是字元串中的真實字元)
7、\12(同上,\表示這是一個轉義字元,其後面的1~3個數字位是一個八進位數,在這裡,第3個數字為8,所以它不是這個八進位數的一部分,即這個八進位數應該是12,轉換為10進位數即為10,對應的ASCII碼為一個換行符)
8、8
9、0
10、3
註:\用來說明一個轉義字元,如\\表示反斜杠字元「\」,\ddd表示1~3位八進位數所代表的字元(ASCII碼),\xhh表示1~2位十六進位數所代表的字元。
c語言字元串的長度怎麼看
C語言的字元串是由字元數組形式保存的,並約定’\0′(ascii碼值為0)作為字元串結束符。
其長度為從字元串開始,到’\0’結束,所有字元的個數,不包括’\0’本身。
要獲得字元串長度,有兩種方法可以使用:
1
使用庫函數strlen()。
strlen聲明在string.h中,原型為
int
strlen(char
*str);
功能為求str的長度,並返回。
2
根據定義求長度。
對於字元串str,
可以用如下代碼求長度:
int
len;
for(len
=
0;
;
len
++)
if(str[len]
==
‘\0’)break;
當str[len]為0時,退出循環,退出後的len值就是str的長度。
c語言字元串長度問題
可以啊 都可以達到效果啊 !
難道,你測試第二個不行嗎??
C語言求字元串長度的問題
你的代碼出現問題的原因是scanf(“%s”,a);,a是一個char類型的變數,系統為它分配了一個位元組的內存空間,但是你卻輸入了一個字元串到以a的地址為首地址的一段連續的內存空間里,這樣就出現了越界錯誤.但是printf函數並不檢查越界錯誤,它會按正常的方法執行,然後程序統計出長度,列印出來結果.但是返回到調用main函數的操作系統後,系統會發現越界錯誤,所以在結果顯示出來後才出錯.至於你說的輸入5個以下不會出錯,也許是偶然,也許跟你的編譯器有關.我用VS2005測試,只要輸入就會出錯。
如果你是只想求出輸入的字元串的長度而不要求保存輸入的字元串,下面的代碼更好。你的標準輸入緩衝區有多大,那麼它就可以求出多長的字元串的長度,不會有越界。
#includestdio.h
intmain()
{
intlen=0;
//getchar()函數從標準輸入設備(即鍵盤)接收一個字元,返回該字元的ASCII碼.因為回車被輸入時被轉換成換行符(LF,ASCII碼為10),所以getchar()返回10時就知道輸入結束了.
while(getchar()!=10)len++;
printf(“It’slengthis%d.\n”,len);
return0;
}
如何在c語言中計算字元串長度
C語言計算字元串長度,可以手動計算也可以使用庫函數或者sizeof()操作符。
方法:
自定義函數求長度
使用strlen()函數
使用sizeof()操作符
自定義函數:
int cont_str(char *s)
{
int i = 0;
while ( str[i++] != ‘\0’) ;
return i;
}
使用string頭文件中的strlen()函數:
strlen(str); //假設str為待求的字元串數組名
使用sizeof()操作符:
sizeof(str)/sizeof(str[0]); //假設str為待求的字元串數組名
注意:
strlen()函數求出的字元串長度為有效長度,既不包含字元串末尾結束符 『\0』;
sizeof()操作符求出的長度包含字元串末尾的結束符 『\0』;
當在函數內部使用sizeof()求解由函數的形參傳入的字元數組的長度時,得到的結果為指針的長度,既對應變數的位元組數,而不是字元串的長度,此處一定要小心。
C語言字元串長度問題
“ab\034\\\x79″中\034是八進位表示的一個ASCII碼製表符,\\表示輸出一個’\’,\x79表示的十六進位ASCII碼的’y’,所以輸出是”ab┗\y”,長度為5,a\045
045\`b中\045是八進位表示的一個ASCII碼數字5,後面空格是一個字元,045佔三個字元\`輸出的是`,所以輸出”a5
045`b”,長度為8
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/241714.html