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語言 關於輸出字元串長度

strlen為求字元串長度,asd長度為三,\n為回車算一個,\x12為一個十六進制數算一個,\1代表八進制的1,算一個,\\第一個為\為轉義字元,將第二個\轉換為普通字元,所以它們也算一個。所以就是7個

Ⅳ c語言字元串長度的計算

可以做一個小的程序來實現,這樣在你的程序中調用就可以的
我做了一個
你先看看
#include<stdio.h>
int
main()
{
char
a[]="hello
worldwerer
sdefe
drefefefef";
int
i,count=0;
for(i=0;a[i]!='\0';i++)
{
if(a[i]=='
')
{
printf("%d,",count);
count=0;
continue;
}
count++;
}
printf("%d",count);
getchar();
}

Ⅳ C語言字元串求長度問題

這兩個答案肯定是不一樣的!
strlen的含義是求字元串的長度,也就是串中的字元數,不包括最後的那,而sizeof的含義是求字元串所佔的內存大小,自然要算上最後的那。
因此。。。
strlen
9
分別是0,\(\\,轉義字元),1,2,5,回車,a,b,table(空白符)到第一個'\0'時就結束了
strlen
15
內存中是0,\(\\,轉義字元),1,2,5,回車,a,b,table(空白符),'\0',a,0,0,'\0','\0'(最後一個是字元串結束的標志)。
有問題的話可以再和我交流。。。。

Ⅵ 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語言怎樣計算字元串長度

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

Ⅷ 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語言字元長度函數

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

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

第一個字元為:a

第二個字元為:b

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

第四個字元為:2

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

所以答案為5。

(下圖為實際代碼演示)

擴展內容:

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

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