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

c語言測字元串長度

發布時間: 2022-06-16 22:23:24

『壹』 c語言怎麼計算字元長度

#include
<stdio.h>
#include
<ctype.h>
#define
N
50
int
main()
{
int
chr=0,space=0,dig=0,other=0;
char
string[N];
char
*s;
printf("Please
input
the
string:
");
gets(string);
s=string;
while(*s!='\0')
{
if(isalpha(*s))
chr++;
else
if(isspace(*s))
space++;
else
if(isdigit(*s))
dig++;
else
other++;
s++;
}
printf("Result:\n");
printf("English
chars:
%d\n",chr);
printf("Space:
%d\n",space);
printf("Digit:
%d\n",dig);
printf("Others:
%d\n",other);
return
0;
}
用<ctype.h>會更加簡單明了一些,注意要用gets輸入字元串才可以包含空格,用scanf則不可以

『貳』 C語言求字元串長度的問題

你的代碼出現問題的原因是scanf("%s",&a);
,a是一個char類型的變數,系統為它分配了一個位元組的內存空間,但是你卻輸入了一個字元串到以a的地址為首地址的一段連續的內存空間里,這樣就出現了越界錯誤.但是printf函數並不檢查越界錯誤,它會按正常的方法執行,然後程序統計出長度,列印出來結果.但是返回到調用main函數的操作系統後,系統會發現越界錯誤,所以在結果顯示出來後才出錯.至於你說的輸入5個以下不會出錯,也許是偶然,也許跟你的編譯器有關.我用VS2005測試,只要輸入就會出錯。
如果你是只想求出輸入的字元串的長度而不要求保存輸入的字元串,下面的代碼更好。你的標准輸入緩沖區有多大,那麼它就可以求出多長的字元串的長度,不會有越界。
#include<stdio.h>
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語言判斷字元串的長度

char
array[]="094387fdhgkdladhladaskdh";字元串定義要加引號
這樣才會在串的最後加上'\0'
printf("\n");
這也要加引號

『肆』 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。

(4)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語言中如何判斷字元長度

使用string庫函數里的strlen函數即可判斷字元長度。
strlen函數可以計算給定字元串的長度,返回值為長度值。
例如計算字元串「helloworld2017」的長度的代碼:
#include<stdio.h>
#include<string.h>
int main()
{
int i;
i = strlen("helloworld2017");
printf("%d",i);
}運行結果如下:

『陸』 c語言怎樣計算字元串長度

17個字元。一個空格算一個字元,其中\105算一個字元,列印出來就是「E」。
英文字元:13個
空格:3個
\105:1個
所以總共17個字元。

『柒』 C語言中測試字元串長度的函數

C語言中測試字元串長度的函數是strlen()

函數原型:

unsignedintstrlen(char*s);

頭文件:

#include<string.h>

參數說明:s為指定的字元串;

功能說明:strlen()用來計算指定的字元串s 的長度,不包括結束字元'';

返回值:返回字元串s 的字元數;

注意:strlen() 函數計算的是字元串的實際長度,遇到第一個''結束。

示例:

#include<stdio.h>
#include<string.h>
intmain()
{
charstr[]="abcxyz";
printf("strlen(str)=%d ",strlen(str1));
return0;
}
//輸出結果:strlen(str)=6

『捌』 c語言中怎樣判斷字元串的長度問題啊

本題的輸出結果是9 我給你總結這樣的題型。1首先你要知道轉義字元,如\n \t \\ \ddd 等這些屬於轉義字元,只佔一個字元串的長度。2.還有就是\101代表ASCII碼的為101的字元'A',記住\376 以內的都佔一個字元串長度,他們都代表ASCII中的某個字母,數字,或亂碼。 希望你看對以後這樣的題都做滿分

『玖』 在計算機c語言中,如何判斷字元串長度

用strlen函數。
strlen是STRING LENGTH(字元串長度)的縮寫。它是測試字元串長度的函數,函數的值為字元串中的實際長度。不包括'\0'在內。
包含在頭文件<string.h>里
例如
char str[10]={\"china\"};
printf(\"%d\",strlen(srt));
輸出5。

『拾』 C語言哪個函數可以測定字元串的長度

第1個輸出是8
10。sizeof運算符得到的是數組的佔用位元組的大小,在定義數組a的時候沒有指明大小,編譯器根據初始化的內容來決定a的大小,"abcdefg"是個字元串,連同表示字元串結束的'\0'共有8個字元,1個字元類型佔用1個位元組,所以sizeof(a)是8。在定義數組b的時候已經指明了大小,所以sizeof(b)是10。
第2個輸出是5
20。strlen函數是計算字元串的長度,字元串以'\0'表示結束,所以strlen在遇到hello後面的'\0'時就會返回。sizeof跟第1個問題一樣。

熱點內容
頭條緩存的視頻格式 發布:2025-02-06 20:32:18 瀏覽:113
ftp不顯示文件夾 發布:2025-02-06 20:30:37 瀏覽:123
蘋果手機解壓怎麼打開 發布:2025-02-06 20:29:35 瀏覽:473
單片機程序存儲器 發布:2025-02-06 20:29:31 瀏覽:206
串的c語言 發布:2025-02-06 20:25:44 瀏覽:745
編程函數總結 發布:2025-02-06 20:09:11 瀏覽:316
編程obj 發布:2025-02-06 19:59:52 瀏覽:844
津貼腳本 發布:2025-02-06 19:44:10 瀏覽:741
好分數里如何修改密碼 發布:2025-02-06 19:42:30 瀏覽:157
mysql存儲過程判斷 發布:2025-02-06 19:40:15 瀏覽:855