[英]Creating an strlen function in c
任務是創建一個 function 來替換 strlen 但按照我要介紹的順序,你必須填補空白。 我嘗試了一些東西,但卡在了我需要計算尺寸並將其退回的地方。
#include <stdio.h>
#define MAXLENGTH 80
int my_strlen(char* s)
{
char *p = (1);
while (2)
(3);
return (4);
}
int main()
{
char str[MAXLENGTH];
int len;
printf("Enter a string:");
gets(str);
len = my_strlen(str);
printf("The length of the string %s is %d\n", str, len);
}
我試過這個但卡在3,如何計算大小
#include <stdio.h>
#define MAXLENGTH 80
int my_strlen(char* s)
{
char *p = s;
while (*p++ != '\0')
(3);
return (4);
}
int main()
{
char str[MAXLENGTH];
int len;
printf("Enter a string:");
gets(str);
len = my_strlen(str);
printf("The length of the string %s is %d\n", str, len);
}
size_t mystrlen(const char *restrict s)
{
const char *restrict e = s;
while(*e) e++;
return (uintptr_t)e - (uintptr_t)s;
}
但我不建議向你的老師展示......
我剛剛用i++
替換了你的(3)
和(4)
,這將增加直到終止(\0)並返回(i)
。
#include <stdio.h>
#define MAXLENGTH 80
int my_strlen(char* s)
{
int i=1;
char *p = s;
while (*p++)
i++;
return (i);
}
int main()
{
char str[MAXLENGTH];
int len;
printf("Enter a string:");
gets(str);
len = my_strlen(str);
printf("The length of the string %s is %d\n", str, len);
}
返回值為+1 (包括\0)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.