我將在下週進行測試。並在表格中他們說:「你不能在測試中使用strlen()」 我該怎麼做。使功能與C中的strlen()相同,只包含#include <stdio.h>(沒有其他頭文件)
只能使用!!!
我將在下週進行測試。並在表格中他們說:「你不能在測試中使用strlen()」 我該怎麼做。使功能與C中的strlen()相同,只包含#include <stdio.h>(沒有其他頭文件)
只能使用!!!
嘗試類似這樣的事情。
#include<stdio.h>
int strlen(const char* temp)
{
int i=0;
while(*(temp++)) ++i;
return i;
}
int main()
{
char *text = "Hello World";
printf("%d",strlen(text));
return 1;
}
size_t my_strlen(const char *s){
const char *p=s;
while(*p)
++p;
return p-s;
}
雖然tecnically perfect,size_t在stddef.h中定義,並可能因此違反指定的要求,只能使用stdio.h – 2014-10-11 13:20:10
@RonPinkas這似乎沒有問題,例如,在諸如'fread'等函數中使用(void * restrict ptr,size_t size,size_t nmemb,FILE * restrict stream);')。 – BLUEPIXY 2014-10-11 13:24:09
確實。感謝您的更正。 :-) – 2014-10-11 13:26:36
unsigned long mystrlen(const char *szString)
{
unsigned long ulLen = 0;
While(szString[0]){ szString++; ulLen++;}
return ulLen;
}
非常感謝 – chivacalo 2014-10-11 13:19:52
上的strlen做什麼閱讀起來。應該很容易從中找出一個簡單的實現。 – juanchopanza 2014-10-11 12:47:00
很多「經驗豐富」的開發人員現在都知道strlen()是做什麼的。它在一個大數組中或者在一個增量指針的末尾查找空值。 – 2014-10-11 12:55:54
你能吠叫錯誤的樹嗎?如果測試說你不能使用'strlen',那可能是你不需要在解決方案中使用它的一個指標,而不是一個推出自己的邀請。 – 2014-10-11 13:32:25