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;

}

(1)字元串長度函數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語言,用函數計算字元串長度

getchar()函數的原型是 int getchar( void )
返回值是整型的
功能是:從標准輸入中讀取一個字元,也就是鍵盤敲擊字元,只接收單個字元
可以用gets()函數來接收多個字元
這里的 s 接收的是該字元的ASCII碼,非長度。
如果從原基礎上改可以這樣
int i;
char s[20]; /*字元串需要長度*/
gets( s );
i = num( s );
int num( char *s ) /* 這里的指針 ,後面學得到*/
{
}
套上去就可以了

Ⅲ 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語言中計算字元串長度

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語言哪個函數可以測定字元串的長度

C語言中,計算字元串長度的函數為strlen。
1 形式:
int strlen(const char *s);
2 頭文件:
string.h
3 功能:
計算字元串s的長度,並返回。

Ⅵ c語言:編寫一個函數求給定字元串長度

方法一:數組方式

代碼如下:

&lt;span style="font-size:18px;"&gt;#include&lt;stdio.h&gt;

#include&lt;assert.h&gt;

int my_strlen(char const*str)

{

int count=0;

assert(str);//斷言,判斷指針的有效性

while(*str++!=NULL)

{

count++;

}

return count;

}

int main()

{

char arr[30]="trouble is a friend.";

printf("%d ",my_strlen(arr));

getchar();

return 0;

}&lt;/span&gt;

運行結果:

方法二:指針方式

說明:當兩個指針都指向同一個數組中的元素,指針減指針就是指針與指針之間元素的個數;兩個地址相加沒有實際意義。

代碼如下:

&lt;span style="font-size:18px;"&gt;#include&lt;stdio.h&gt;

int my_strlen(char const*str)

{

char const*tmp=str;

while(*str!='')

{

str++;

}

return str-tmp;

}

int main()

{

char arr[30]="trouble is a friend.";

printf("%d ",my_strlen(arr));

getchar();

return 0;

}&lt;/span&gt;

Ⅶ c語言如何求字元串長度

我的方法和樓上的大同小異用指針法:#include "stdio.h"
void main()
{char str[128];<br> char * p;<br> int count=0;<br> p=str;<br> gets(str);<br> while(*p++!='\0')<br> count++;<br> printf("%d",count);<br>}非指針法(這個方法是調用系統函數,比之自己寫的函數簡單明了):#include "stdio.h"
#include "string.h"
void main()
{char str[128];<br> gets(str);<br> printf("%d",strlen(str));<br> }

Ⅷ 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語言中來字元串長度的函數源是strlen(),一個字元的長度為1;
函數原型:
unsigned
int
strlen
(char
*s);頭文件:
#include
<string.h>參數說明:s為指定的字元串;
功能說明:strlen()用來計算指定的字元串s
的長度,不包括結束字元'\0';
返回值:返回字元串s
的字元數;
注意:strlen()
函數計算的是字元串的實際長度,遇到第一個'\0'結束。
示例:
#include<stdio.h>#include<string.h>int
main(){
char
str[]
=
"ab\nxyz";//\n為回車字元,佔一個位元組
printf("strlen(str)=%d\n",
strlen(str));
return
0;}//輸出結果:strlen(str)=6
收起

Ⅹ c語言,計算字元串長度

首先是你的No1:
char
x[12]="ab\n\\012\\\";
這句貌似是錯誤的,調試不能通過。在結尾加上n就是改為:char
x[12]="ab\n\\012\\\n";後程序版才能運行。結權果是9的原因是:
for(i
=
0;i<10;i++){
printf("%c,",x[i]);}
在程序中加入這句話就明白了。
顯示的字元依次為

a,b,換行,\,1,2,\,\,換行。
後面的同理你加上for(i
=
0;i<10;i++){
printf("%c,",x[i]);}
這句話
自己調試什麼都明白了