gpt4 book ai didi

使用指针算术编码字符串长度函数

转载 作者:行者123 更新时间:2023-11-30 14:44:53 24 4
gpt4 key购买 nike

我正在初级 CS 类(class)中学习 C,我们的任务是编写一个仅使用字符串指针查找字符串长度的函数。我有以下代码:

#include <stdio.h>

int strlength(char* str);

int main() {
char *str;
int comp;

printf("Please enter the string: ");
scanf("%s", str);

printf("The length of the string is: %d\n", strlength(str));
return 0;
}

int strlength(char *str) {
int length = 0;

while(*str != '\0') {
length++;
str++;
}
return length;
}

我不太确定哪里出现了段错误。我尝试在 strlength 函数中创建第二个指针,该指针等于 str 并递增该指针,但这也给我带来了段错误。任何见解将不胜感激!

最佳答案

char *str;
int comp;

printf("Please enter the string: ");
scanf("%s", str);

您应该在 scanf 之前在堆中为 *str 分配内存(使用 malloc )。如果您不想使用 malloc,请将其更改为 char[number],这样它就可以在堆栈而不是堆中分配内存

关于使用指针算术编码字符串长度函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53356380/

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