當前位置:首頁 » 編程語言 » c語言輸入字元串長度

c語言輸入字元串長度

發布時間: 2022-04-16 16:28:23

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語言:寫一個函數,求一個字元串的長度.在main函數中輸入字元串並輸出其長度

#include<iostream>

using namespace std;

int main()

{

int character(char *a);

char a[20];

int length;

cout<<"請輸入一個字元串:"<<endl;

cin>>a;

length=character(a);

cout<<"字元串長度為:"<<length<<endl;

return 0;

}

(2)c語言輸入字元串長度擴展閱讀:

return用法:

在C++的關鍵字,它提供了終止函數執行的一種方式。當return語句提供了一個值時,這個值就成為函數的返回值.

1、C

在C89中,main()是可以接受的。Brian W.Kernighan和Dennis M.Ritchie的經典巨著The C programming Language 2e(《C程序設計語言第二版》)用的就是main()。不過在最新的C99標准中,只有以下兩種定義方式是正確的:

int main(void)

int main(int argc,char*argv[])

當然,我也可以做一點小小的改動。例如:char*argv[]可以寫成char**argv;argv和argc可以改成別的變數名(如intval和charval),不過一定要符合變數的命名規則。

如果不需要從命令行中獲取參數,請用int main(void);否則請用int main(int argc,char*argv[])。

main函數的返回值類型必須是int,這樣返回值才能傳遞給程序的激活者(如操作系統)。

如果main函數的最後沒有寫return語句的話,C99規定編譯器要自動在生成的目標文件中(如exe文件)加入return 0;,表示程序正常退出。不過,我還是建議你最好在main函數的最後加上return語句,雖然沒有這個必要,但這是一個好的習慣。

注意,vc6不會在目標文件中加入return 0;,大概是因為vc6是98年的產品,所以才不支持這個特性。現在明白我為什麼建議你最好加上return語句了吧!不過,gcc3.2(Linux下的C編譯器)會在生成的目標文件中加入return 0;。

2、C++

C++98中定義了如下兩種main函數的定義方式:

int main()

int main(int argc,char*argv[])

int main()等同於C99中的int main(void);int main(int argc,char*argv[])的用法也和C99中定義的一樣。同樣,main函數的返回值類型也必須是int。

如果main函數的末尾沒寫return語句,C++98規定編譯器要自動在生成的目標文件中加入return 0;。同樣,vc6也不支持這個特性,但是g++3.2(Linux下的C++編譯器)支持。

Ⅲ c語言計算字元串的長度(用指針)

#include&lt;cstdio&gt;

int main()

{

char s[20];

char*p;

printf("please input a string(less than 20 character): ");

//scanf("%s",s);不能讀入空格

gets(s);

p=s;

while(*p!='')

p++;

printf("The string lenth is%d ",p-s);

return 0;

}

printf()函數的調用格式為:printf("&lt;格式化字元串&gt;",&lt;參量表&gt;)。

其中格式化字元串包括兩部分內容:一部分是正常字元,這些字元將按原樣輸出;另一部分是格式化規定字元,以"%"開始,後跟一個或幾個規定字元,用來確定輸出內容格式。

參量表是需要輸出的一系列參數,其個數必須與格式化字元串所說明的輸出參數個數一樣多,各參數之間用","分開,且順序一一對應,否則將會出現意想不到的錯誤。

比如:

int a=1234;

printf("a=%d ",a);

輸出結果為a=1234。

(3)c語言輸入字元串長度擴展閱讀:

main()函數的可以包括兩個參數

第一個參數的類型為int型;

第二個參數為字元串數組。

通常情況下,將第一個參數命名為argc,第二個參數為argv(當然參數名字可以換)。由於字元串數組有兩種表達方式,因此,main函數存在兩種書寫方法:

1、形式一:

int main(int argc,char*argv[])//這里使用char*argv[]

{

return 0;

}

2、形式二:

int main(int argc,char**argv)//這里使用char**argv

{

return 0;

}

使用方法

參數的含義

int argc:表示字元串的數量argc=1+用戶輸入的字元串數目,操作系統負責計算數量,程序員不用管,只需要正確使用即可,例如用戶輸入2個字元串,argc=1+2=3;

char*argv[]:字元串的數組,即多個字元串,形式如下:

argv[0]=可執行文件名稱,例如test.exe(非用戶輸入,操作系統根據可執行文件名稱自動生成)

argv[1]=字元串1

argv[2]=字元串2

argv[3]=字元串3

Ⅳ c語言中怎麼限制輸入字元串的長度

scanf_s(),類似scanf,在最後可以加參數限制長度
fgets(char
str,size,stdin)也可以,size就是要求的長度

Ⅳ 求助c語言怎麼用strlen計算輸入字元串的長度

直接調用strlen即可。

strlen原型為

int strlen(char *str);

功能為求str的長度,並返回。

於是計算輸入字元串長度的代碼可以寫作

charstr[1024];
intlen;
scanf("%s",str);//輸入字元串。
len=strlen(str);//計算長度並存於len中。

Ⅵ 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;
}

Ⅶ 如何在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語言編程序,輸入字元串的有效長度,並輸出該字元串

int
i=0,*j;
定義了一個整型指針變數j,j++會跳過一個整型數據空間(4)
如:輸入數據為:abcdefg
j=a;
此時j指向a所在的地址
j++;
j跳過四個位元組,j指向e所在地址,因此,你的統計會不準確。
之所以輸出21,只能說,你的程序運行中,掃描內存中的數據是以\0結尾的,而只有找到21*4的位置才發現\0,這是運行時的情況,不是必然的。
修改成char
*j;就好了。這樣j++會跳過一個字元型數據空間(1),才能正確遍歷數組!

Ⅸ C語言字元串輸入長度

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

熱點內容
櫻花動漫盾之勇者成名錄緩存 發布:2025-01-22 09:14:11 瀏覽:564
圖色模擬腳本是什麼 發布:2025-01-22 09:09:04 瀏覽:164
怎麼重置銀行卡密碼 發布:2025-01-22 09:07:18 瀏覽:334
哪個平台雲伺服器好用 發布:2025-01-22 09:07:16 瀏覽:476
編程貓審判 發布:2025-01-22 08:54:17 瀏覽:142
明日之後怎麼加不同伺服器好友 發布:2025-01-22 08:51:08 瀏覽:206
php代碼格式化 發布:2025-01-22 08:50:22 瀏覽:180
db2plsql 發布:2025-01-22 08:19:10 瀏覽:779
豬豬俠腳本沒反應 發布:2025-01-22 08:08:37 瀏覽:812
賽博朋克跟永劫無間哪個配置高 發布:2025-01-22 08:07:07 瀏覽:535