1樓:輕煙談生活
1、首先開啟vs2014, 新建一個專案。
2、然後我們根據圖示**新建一個main函式。
3、然後我們根據圖示**新增標頭檔案。
4、然後我們根據圖示**新增main函式。
5、然後我們根據圖示**定義int變數len。
6、然後我們根據圖示**定義char型別變數str。
7、然後我們根據圖示**使用scanf給str賦值。
8、然後我們根據圖示**定義一個求字串長度的函式。
9、然後我們根據圖示**求len。
10、然後我們根據圖示**使用printf列印len。
11、然後我們執行程式,看看輸出結果。
2樓:匿名使用者
how do you do?\n
這個是15個,前面的每個字元一個,包括空格,最後\n是一個字元\\name\\\101ddress\b\xaf這是15個,\\是轉義字元表示一個'\'字元\101是一個轉意字元,表示ascii碼八進位制是101的一個字元,轉為十進位制是65,對應'a'這個字元
\b是一個轉意字元,表示退格
\af是一個轉意字元,表示ascii碼十六進位制是af的一個字元,轉為十進位制是175
3樓:匿名使用者
直接用sizeof("字串") 就能得出來。
如何在c語言中計算字串長度
4樓:溜溜達達
c語言的字串是由字元陣列形式儲存的,並約定'\0'(ascii碼值為0)作為字串結束符。其長度為從字串開始,到'\0'結束,所有字元的個數,不包括'\0'本身。
要獲得字串長度,有兩種方法可以使用,使用庫函式strlen()。strlen宣告在string.h中,原型為int strlen(char *str);功能為求str的長度,並返回。
對於字串str, 可以用**求長度。當str[len]為0時,退出迴圈,退出後的len值就是str的長度。
拓展資料:使用strlen函式,包含在標頭檔案string.h裡,功能就是計算字串s的(unsigned int型)不包括'\0'在內的長度。
5樓:
c語言計算字串長度,可以手動計算也可以使用庫函式或者sizeof()操作符。
方法:自定義函式求長度
使用strlen()函式
使用sizeof()操作符
int cont_str(char *s)
strlen(str); //假設str為待求的字串陣列名
sizeof(str)/sizeof(str[0]); //假設str為待求的字串陣列名
strlen()函式求出的字串長度為有效長度,既不包含字串末尾結束符 『\0』;
sizeof()操作符求出的長度包含字串末尾的結束符 『\0』;
當在函式內部使用sizeof()求解由函式的形參傳入的字元陣列的長度時,得到的結果為指標的長度,既對應變數的位元組數,而不是字串的長度,此處一定要小心。
6樓:1024程式設計師
c語言經典例子之計算一個字串的長度
7樓:匿名使用者
用strlen得到整個長度,再用迴圈語句找到空格位置,然後計算得到兩部分的長度即可。
8樓:匿名使用者
可以做一個小的程式來實現,這樣在你的程式中呼叫就可以的 我做了一個 你先看看
#include
int main()
count++;
}printf("%d",count);
getchar();}
9樓:匿名使用者
用一個子函式就可以了
int sr(const char s)
10樓:泰和劉老師黃
用迴圈語句控制,用if判斷.以空格為分界分別計算就可以
11樓:花晨溪谷
直接用int()來算
12樓:啊黑夜傳說啊
就用了一個strlen函式
#include
#include
int main()
c語言 計算字串長度
13樓:
作者你好!
首先要分清楚:字元陣列和字串的關係!
字串存放在陣列中,因此,一個字元陣列可以存放幾個串,單字串函式只認字串結束標誌'\0';
1. strlen(wer wer):字串為"wer_wer"這種字串常量,系統會在其後自動補上'\0';而求字串長度的函式strlen()只要遇見'\0';就返回函式值!
而且'\0'不算在其中!故返回值為7(空格也算一個字元!)
2. strlen(wer\0wer) 其中的字串為"wer\0wer"而strlen函式遇到'\0'即結束,故返回值為:3
3. '\0'不是空格,也不是回車!通過ascii碼錶,你可知道,'\0'是ascii碼值代表0(null);而空格的ascii碼為:
'\32' 32 回車的ascii碼值為'\13' 13
希望對你有所幫助!!!!
14樓:
c語言計算字串長度,可以手動計算也可以使用庫函式或者sizeof()操作符。
方法:自定義函式求長度
使用strlen()函式
使用sizeof()操作符
int cont_str(char *s)
strlen(str); //假設str為待求的字串陣列名
sizeof(str)/sizeof(str[0]); //假設str為待求的字串陣列名
strlen()函式求出的字串長度為有效長度,既不包含字串末尾結束符 『\0』;
sizeof()操作符求出的長度包含字串末尾的結束符 『\0』;
當在函式內部使用sizeof()求解由函式的形參傳入的字元陣列的長度時,得到的結果為指標的長度,既對應變數的位元組數,而不是字串的長度,此處一定要小心。
15樓:溜溜達達
c語言的字串是由字元陣列形式儲存的,並約定'\0'(ascii碼值為0)作為字串結束符。其長度為從字串開始,到'\0'結束,所有字元的個數,不包括'\0'本身。
要獲得字串長度,有兩種方法可以使用,使用庫函式strlen()。strlen宣告在string.h中,原型為int strlen(char *str);功能為求str的長度,並返回。
對於字串str, 可以用**求長度。當str[len]為0時,退出迴圈,退出後的len值就是str的長度。
拓展資料:使用strlen函式,包含在標頭檔案string.h裡,功能就是計算字串s的(unsigned int型)不包括'\0'在內的長度。
16樓:冰是沉默的水
計算長度有兩個函式:strlen sizeofstrlen 計算字串裡面一共有多少個字元sizeof 計算字串佔的總記憶體空間
如:char str[20]=;
strlen(str);等於 6
sizeof(str); 等於20
-物聯網校企聯盟技術部
17樓:樂跑小子
#include
#include
void main()
執行結果
input string
abcdefgh
你輸入的字串的長度為8
press any key to continue
18樓:匿名使用者
c語言中測試字串長度的函式是strlen()函式原型:
unsigned int strlen (char *s);
標頭檔案:
#include
引數說明:s為指定的字串;
功能說明:strlen()用來計算指定的字串s 的長度,不包括結束字元'\0';
返回值:返回字串s 的字元數;
注意:strlen() 函式計算的是字串的實際長度,遇到第一個'\0'結束。
示例:#include
#include
int main()
//輸出結果:strlen(str)=6
19樓:烈焰呼嚎
int strlenown(const char* psz) /*const使得字元陣列不被修改*/
這裡面psz++是指標的位移操作,移動指向位置的,字串常量對於c語言來說就是一種陣列嘛
而括號外面的「 * 」是解引用符號,其實意思就是取指標當前位置的值,而不是它的地址。
20樓:匿名使用者
#include
int strlen(char* s)
int main()
21樓:東江湖の水怪
在標頭檔案位置寫
#include
然後在後面用b=strlen(a);
b是一個int型的變數 a是字串或者字元陣列得首地址,也就是名字比如a[20],
22樓:啊黑夜傳說啊
就用了一個strlen函式
#include
#include
int main()
23樓:匿名使用者
/*filename的長度為 : 21
press any key to continue*/#include
int strlen(char s)
int main()
24樓:匿名使用者
加標頭檔案 string.h **如下:
char str = "hello world!";
int len = strlen(str);
25樓:匿名使用者
#include
main() 這樣
26樓:匿名使用者
你的if中的條件寫的有問題,應改為
if(c>='a'&&c<='z'||c>='a'&&c<='z')
這樣說明只有你輸入的是字母時,a的值才執行++操作。而你的條件c&&('a'<='z'&&'a'<='z'))後半部分('a'<='z'&&'a'<='z'))返回值永遠都是真,因為a和a永遠都比z和z小呀。前半部分的c是你輸入的值,如果不是輸入了0對應的ascii碼值48,那也永遠是真,所以a條件總是成立,a總是++;結果當然就會不對了
27樓:匿名使用者
你的**出現問題的原因是scanf("%s",&a); ,a是一個char型別的變數,系統為它分配了一個位元組的記憶體空間,但是你卻輸入了一個字串到以a的地址為首地址的一段連續的記憶體空間裡,這樣就出現了越界錯誤.但是printf函式並不檢查越界錯誤,它會按正常的方法執行,然後程式統計出長度,列印出來結果.但是返回到呼叫main函式的作業系統後,系統會發現越界錯誤,所以在結果顯示出來後才出錯.
至於你說的輸入5個以下不會出錯,也許是偶然,也許跟你的編譯器有關.我用vs2005測試,只要輸入就會出錯。
如果你是隻想求出輸入的字串的長度而不要求儲存輸入的字串,下面的**更好。你的標準輸入緩衝區有多大,那麼它就可以求出多長的字串的長度,不會有越界。
#include
int main()
28樓:
錯誤有兩個!
1.char型的字元變數a只代表一個字元,不能代表一個字串。
2.用scanf輸入字串時,出了個控制符要用%s外,後面的應是個地址。若a是個字元陣列,應該用a,而不是&a。況且用scanf輸入時不能輸入空格。
你可以這樣編:
#include
#include
void main()
visual c++編譯通過,希望能幫助你
c語言如何求字串長度,c語言 計算字串長度
你的 出現問題的原因是scanf s a a是一個char型別的變數,系統為它分配了一個位元組的記憶體空間,但是你卻輸入了一個字串到以a的地址為首地址的一段連續的記憶體空間裡,這樣就出現了越界錯誤.但是printf函式並不檢查越界錯誤,它會按正常的方法執行,然後程式統計出長度,列印出來結果.但是返回...
c語言字串字母大小寫轉換,C語言字串字母大小寫轉換
scanf預設情況下碰到 空格 就會結束輸入,所以上面的 p 40 只會得到 hello 後面就斷了。最簡單的辦法就是用 gets p 代替 scanf s p 這行。scanf也可以接受 空格,請查閱 修飾符的具體用法。include int main void str i 0 printf s ...
c語言如何定義字串陣列C語言如何定義字串陣列
c語言字串陣列中的每一個元素均為指標,即有諸形如 ptr array i 的指標。由於陣列元素均為指標,因此ptr array i 是指第i 1個元素的指標。例 如二維指標陣列的定義為 char ptr array 3 擴充套件資料 字串陣列陣列元素表示方法 陣列元素的一般形式為 陣列名 下標 其中...