gpt4 book ai didi

c - 创建反转字符串的函数时出现问题

转载 作者:行者123 更新时间:2023-11-30 17:05:49 25 4
gpt4 key购买 nike

我需要创建一个返回字符串的函数。到目前为止,我已经想出了这段代码:

#include <stdio.h>
#include <string.h>
#define SIZE 256

void str_reverse(char[SIZE], char[SIZE]);

int main(void)
{
char input[SIZE];
char output[SIZE];


printf("Please enter a string\n");
fgets(input, SIZE, stdin);

str_reverse(input, output);

printf("%s \n", output);


return 0;
}

void str_reverse(char in[SIZE], char out[SIZE])
{

int i = strlen(in);
int k = 0;

for(int j = i; j>= 0; j--)
{
out[k] = in[j];
k++;
}


}

但是,每当我尝试运行代码时,我都没有得到输出。有谁知道可能出了什么问题

最佳答案

问题出在这一行

int i = strlen(in);

更改为

int i = strlen(in)-1;

strlen() 返回字符串的大小,因此当您开始从 in[] 复制时,in[j] 将是\0。它存储在 out[0] 中。

<小时/>

您需要做的另一项更改是将 \0 放入 out[] 中,就在 for 循环之后

for(int j = i; j>= 0; j--)
{
out[k] = in[j];
k++;
}
out[k] = '\0';

关于c - 创建反转字符串的函数时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35068466/

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