gpt4 book ai didi

c - 用指针输入定义函数

转载 作者:行者123 更新时间:2023-11-30 20:19:00 25 4
gpt4 key购买 nike

我不完全理解如何使用指针。

在函数内部,我需要编写代码来返回输入字符串的长度。

int mystrlen (const char *s)
{
char *s[1000], i;
for(i = 0; s[i] != '\0'; ++i);
printf("Length of string: %d, i");
return 0;
}

你能告诉我如何让它发挥作用吗?谢谢!!

最佳答案

删除 char *s[1000],声明 int i 而不是 char i,并返回 i而不是 0:

  • 您需要删除函数体内的 s,因为它会“隐藏变量”s(即函数参数),即 s code> 根本无法读取函数参数。
  • char i 更改为 int i 可能会增加可能返回值的范围。如果传递一个包含 128 个字符的字符串,如果它是带符号的 8 位类型,则 char i 将返回 -128。 int 保证为 16 位,允许字符串最多 32767 个字符(对于字符串长度函数的大多数常见用途来说已经足够了)。
  • 您返回i,因为否则该函数就没有意义;即使您打印该值,您也需要一种使用字符串长度的方法,如果您不从函数返回它,则无法做到这一点。

更正代码示例:

#include <stdio.h>

int mystrlen(const char *s)
{
int i;
for (i = 0; s[i] != '\0'; ++i);
return i;
}

int main(void)
{
const char *s = "Hello world!";
int len = mystrlen(s);
printf("Length of string: %d\n", len);
return 0;
}

关于c - 用指针输入定义函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52249872/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com