[英]Find the length of string in c with just one line of code without using strlen() function?
我想找到是否有任何方法可以在C
找到任何字符串的長度。
這是我的方式:
#include <stdio.h>
int main()
{
char s[10] = "hello";
int i , len = 0;
for(i = 0; s[i] != '\0'; i++)
{
len++
}
printf("length of string is: %d" , len);
return 0;
}
我想找到, 如果有任何方法可以在一行代碼中獲得字符串的長度。
你可以簡單地這樣做:
for(len = 0; s[len] != '\0'; len++);
因此,在一行代碼中,您將獲得存儲在len中的字符串長度。
你可以刪除s[len] != '\\0';
比較縮短:
for(len=0;s[len];len++);
您可以調用strlen()函數來在一行中知道字符串的長度。 它返回一個大小值size_t strlen(char *)
這樣做:
for(len=0;s[len];len++);
這將把長度存儲在len
如果你只想要一行,那么這樣的東西也是可能的:
while (s[len] != '\0') len++;
這只是另一種方式,但不是最令人滿意的。
最小的版本:
#include <stdio.h>
int main(void)
{
char s[10] = "hello", *p = s;
while(*p++); /* "counting" here */
printf("The length of string '%s' is: %td" , s, p - s);
}
它打印:
The length of string 'hello' is: 6
我相信,這應該是最短的版本:
for(l=-1;s[++l];);
它是18個字節,因此它是一個非常好的代碼 - 高爾夫答案。 但是,我更喜歡更規范的
for(len = 0; s[len]; len++) ;
在實際代碼中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.