gpt4 book ai didi

c - C 中的反向函数产生单词然后产生垃圾

转载 作者:太空宇宙 更新时间:2023-11-04 00:37:22 26 4
gpt4 key购买 nike

我正在实现一个用 C 语言反转字符串的函数。这是我的代码:

void reverse(char *str) {
int strlength = strlen(str);
int len = strlength+1;
char rev[len];
int i = 0;
while(strlength > 0) {
rev[i++] = str[--strlength];
}
strcpy(str, rev);
}

这是主要功能:

main(int argc, char *argv[]) {
int i;
for(i=1;i<argc;i++) {
printf("[%s <==> ", argv[i]);
reverse(argv[i]);
printf("%s].. ",argv[i]);
printf("\n");
}

这就是当我在单词上尝试它时发生的情况:johncarlcatapple , 星期五:

[john <==> nhojِ¶@]
[n <==> n↨>]
[cat <==> tac]
[apple <==> elppa¶@]
[ <==> C↨>]

最佳答案

您不要以零终止 rev[] 中的字符串,将

rev[i] = '\0';

在 while 循环之后

关于c - C 中的反向函数产生单词然后产生垃圾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26470055/

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