當前位置:首頁 » 編程語言 » c語言輸入是字元串長度怎麼表示
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言輸入是字元串長度怎麼表示

發布時間: 2023-05-12 08:36:56

c語言 計算字元串長度

C語言的字元串是由字元數組形式保存的,並約定''(ascii碼值為0)作為字元串結束符。其長度為從字元串開始,到''結束,所有字元的個數,不包括''本身。

要獲得字元串長度,有兩種方法可以使用,使用庫函數strlen()。strlen聲明在string.h中,原型為int strlen(char *str);功能為求str的長度,並返回。對於字元串str, 可以用代碼求長度。當str[len]為0時,退出循環,退出後的len值就是str的長度。

拓展資料:使用strlen函數,包含在頭文件string.h里,功能就是計算字元串s的(unsigned int型)不包括''在內的長度。

⑵ 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程序中使用轉義字元\ddd或者\xhh可以方便靈活地表示任意字元。\ddd為斜杠後面跟三位八進制數,該三位八進制數的值即為對應的八進制ascii碼值。\x後面跟兩位十六進制數,該兩位十六進制數為對應字元的十六進制ascii碼值。
第一個,\056轉換為了8進制數56所對應的ascii字元,但是對於\089,8進制裡面沒有8和9兩個字元,所以被當成普通字元,所以整個字元串變成
1,2,3,\056,7,\0,8,9
strlen函數碰到\0就會返回,所以總長度到7就結束了,返回5
第二個,我說的都這么詳細了,你自己也能判斷了吧

⑷ C語言 數組中字元串的長度的怎麼計算的·~就是輸入一個字元串怎麼能快速的知道他的長度··

在C語言中,可以通過庫函數strlen來計算字元串的長度,也可以通過循環計數來求取字元串長度。


函數原型:unsigned int strlen(char *str);

功 能:統計字元串str中字元的個數,不包含''

返 回 值:返回字元個數


具體實現方法可以參考如下程序段:

1、用strlen函數實現

charstr[20];
intlen;//保存數組的長度
scanf("%s",str);
len=strlen(str);//計算字元數組str的長度

註:需將頭文件#include<string.h>添加進源文件中。


2、用循環來實現

charstr[20];
intlen=0;//保存數組的長度
scanf("%s",str);
while(str[len]!='')//未檢測到結束字元
{
len++;//統計字元數組str的長度
}

⑸ 求字元串長度(用C語言編程)

字元串數組碰到哪仿培\0默認結束,所以實際長度為5,因為一開始分配數組長李唯度為20,所以內存長度為20,所以結果大漏為5,20

⑹ C語言,輸入字元串計算字元長度

你的代碼出現問題的原因是scanf("%s",&a);
,a是一個char類型的變數,系統為它分配了一個位元組的內存空間,但是你卻輸入了一個字元串到以a的地址為首地址的一段連續的內存空間里,這樣就出現了越界錯誤.但是printf函數並不檢查越界錯誤,它會按正常的方法執行,然後程序統計出長度,列印出來結果.但是返回到調用main函數的操作系統後,系統會發現越界錯誤,所以在結果顯示出來後才出錯.至於你說的輸入5個以下不會出錯,也許是偶然,也許跟你的編譯器有關.我用VS2005測試,只要輸入就會出錯。
如果你是只想求出輸入的字元串的長度而不要求保存輸入的字元串,下面的代碼更好。你的標准輸入緩沖區有多大,那麼它就可以求出多長的字元串的長度,不會有越界。
#include
int
main()
{
int
len=0;
//getchar()函數從標准輸入設備(即鍵盤)接收一個字元,返回該字元的ASCII碼.因為回車被輸入時被轉換成換行符(LF,ASCII碼為10),所以getchar()返回10時就知道輸入結束了.
while(getchar()!=10)
len++;
printf("It's
length
is
%d.\n",len);
return
0;
}