gpt4 book ai didi

c - 在 c 中反转字符串会导致段错误

转载 作者:行者123 更新时间:2023-11-30 16:53:43 28 4
gpt4 key购买 nike

我试图反转 c 中的字符串,但出现段错误、核心转储错误,无法找出错误。

#include<stdio.h>
#include<string.h>

void main(){
char inputstr[100];
int i = 0;
char revstr[100];

printf("Give me something to reverse!!:\t");
gets(inputstr);
printf("You entered %s\n", inputstr);

int lenstr = strlen(inputstr) - 1;


while(lenstr >= i){
strcpy(revstr, inputstr[lenstr]);
lenstr = lenstr -1;
}

printf("%s\n", revstr);
}

最佳答案

I am trying to reverse a string in c but i get segmentation

strcpy() 用于将字符串复制到目标字符串。所以参数是 char*const char*。但在您的代码中,您将发送一个 char 作为 strcpy() 函数的第二个参数。

完全不需要使用strcpy()函数来反转字符串,只需一个for循环就足以实现字符串反转。

for 循环示例:

for (i = 0; i <= lenstr; i++) 
{
revstr[i] = inputstr[lenstr - i];
}
revstr[i] = '\0';

关于c - 在 c 中反转字符串会导致段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40769383/

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