c語言求字元串長度
Ⅰ 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語言:編寫一個函數求給定字元串長度
方法一:數組方式
代碼如下:
<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!='