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

c語言字元串長度的題

發布時間: 2023-04-01 21:07:35

c語言字元串長度的問題

總共11個字元啊,錢算兩個,還有末尾的'\0'。

㈡ C語言字元串長度問題

對於您的第一個問題,答案應該是8,這里先糾正一下您的錯誤,""ab\n\\012\""不對,應該是"ab\n\\012\"",還有應該頌頌歷是char*而不是char,這里開頭兩個是兩個字元a,b,然後櫻飢是\n換行字元,接著是反斜杠字元,和0,1,2三個字元,最後是\"雙引號字元,那麼一共8個字元,所以輸出長度應該為8.對於第二個問題,答案應該是6,你可以看見字元char是最小單位,對於sizeof的值為1,那麼第一個\b是個轉義字元,a是個字元,\016代表一個8進制野搜字元,e和f代表最後兩個字元,這里一共5個字元,sizeof的值為5,那麼為什麼會有6的結果呢,因為字元數組在數組末尾會加上一個NULL空字元,所以一共6個字元,希望能解決您的問題,我的QQ274136197,有什麼問題可以聯系我

㈢ 一道C語言的題目,關於字元串的長度

長度是7
解答:字元串的長仿鎮斗度是指字元串中有效字元的個數.在C程序中,組成字元串的字元可以是一般的普通字元,也可以是轉義字元.其中轉義字元又可以用多種不同形式來表達:反斜杠字元之後接上預先規定的字元,用來旅基表示特殊字元或特定意義的控制字元.如單引號字元,雙引號字元,反斜杠字元等特殊字元,換行,回車,退格等控制字元.反斜杠字元之後接上1至3位八進制數字元,這是直接用八進制數字表示字元的ASCII代備磨碼的方式.反斜杠字元之後接上字元x,並後接1至2個十六進制數字元,這是直接用十六進制數字表示字元的ASCII代碼的方式.後二種能表示C語言允許的任何字元.在本小題給出的字元串中,字元'\x43'是用十六進制數表示的一個字元,字元'\\'表示一個反斜杠字元,字元'\n'表示一個換行字元,字元'\102'是用八進制數表示的一個字元.這樣,所給字元串只有7個有效字元.所以,該字元串的長度是7

㈣ C語言 字元串長度問題!

第一個字元串長度為9(\x44 表示D,\\表示\,\n表示回車,\102表示B)

0:a
1:D
2:\
3:

4:b
5:c
6:d
7:B
8:a
--------------------
第二個字元串長度為7(\t 表示製表符,\xab表示一個字元,\3表示一個字元,\\表示\)

0:x
1:y
2:z
3:
4:
5:
6:\

㈤ c語言字元串長度問題,求幫助!

a,b,\n,\\,0 1,2,\\,\"——共9個。——\是轉義字元引導符,後面跟一些有規定的字元,表示不同的意義:如\n是回車一個字元,\t是水平製表答一個字元,\\表示一個\一個字元(這是因為\是轉義引導符,所以規定使用單個\以\\相區別),\"是一個雙引號的一邊一個字元等。

㈥ c語言字元串長度問題

可以啊 都可以達到效果啊 !

難道,你測試第二個不行嗎??

㈦ c語言中關於字元串長度的問題

不,若不在[]填數字,就必須在初始化這個str,在等號右邊寫具體數據,有幾個數據,編譯器就自動在[]中填幾了。所以char str[]{0}這樣寫是錯誤的,要寫成char str[]={'a','b','c'};這樣的形式,編譯器就會認為[]中是3了。另,char型數組還可以char str[]="1234567";這樣來定義,但這時[]中並不是7而是8,原來編譯器把str作為字元串對待了,要在7後自動加一個結束符'\0'。

㈧ C語言求字元串長度的問題

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

㈨ c語言求字元串長度問題

int length = stringlength(&s); 不該送 s 地址,直接 stringlength(s);

int stringlength(char **strings) 一個 * 就行了。 char *strings

㈩ C語言字元串長度問題

#include
<stdio.h>
#include
<string.h>
int
main()
{
char
s[100];
int
length;
scanf
("%s",
s);
length
=
strlen(s);
printf
("%s的長度是%d\n",
s,
length);
return
0;
}