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

c語言求字元長度函數

發布時間: 2022-12-17 06:01:24

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

方法一:數組方式

代碼如下:

<span style="font-size:18px;">#include<stdio.h>

#include<assert.h>

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;

}</span>

運行結果:

方法二:指針方式

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

代碼如下:

<span style="font-size:18px;">#include<stdio.h>

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;

}</span>

B. c語言,用函數計算字元串長度

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

C. c語言字元長度函數

正確的答案是5,題目選項有誤。

首先strlen()函數返回的長度是不包含'',

第一個字元為:a

第二個字元為:b

第三個字元為: (換行符)

第四個字元為:2

第五個字元為: (\轉義為)

所以答案為5。

(下圖為實際代碼演示)

擴展內容:

strlen()函數(C語言函數):

strlen所作的僅僅是一個計數器的工作,它從內存的某個位置(可以是字元串開頭,中間某個位置,甚至是某個不確定的內存區域)開始掃描,直到碰到第一個字元串結束符''為止,然後返回計數器值(長度不包含'')。

D. c語言計算字元數組的長度

1、在c語言中,可以通過庫函數strlen來計算字元串的長度,也可以通過循環計數來求取字元串長度。
函數原型:unsigned
int
strlen(char
*str);

能:統計字元串str中字元的個數,不包含'\0'


值:返回字元個數
2、用strlen函數實現:
char str[20];
int len; // 保存數組的長度
scanf("%s", str);
len = strlen(str); // 計算字元數組str的長度
註:需將頭文件#include
添加進源文件中。3、用循環來實現:
char str[20];
int len=0; // 保存數組的長度
scanf("%s", str);
while(str[len] != '\0') // 未檢測到結束字元
{
len++; // 統計字元數組str的長度
}