gpt4 book ai didi

反转字符串的代码不清除以前的值

转载 作者:行者123 更新时间:2023-11-30 21:01:41 25 4
gpt4 key购买 nike

我正在解决这个编程问题,其中我有 10 个测试用例的大约 30 个字符的反向字符串。

我的代码是这样的:-

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


int main () {

int t;
scanf("%d",&t);

while (t--) {
char str[30];

scanf("%s",&str);

char revStr[30];

int len = strlen(str);
int i = 0;
int j = len-1;

while (i < len) {
revStr[i] = str[j];
i++; j--;
}

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

return 0;
}

如果输入字符串大于前一个字符串,输出会出现乱码。

例如,

如果 last-string6 个字符,例如 rocket\0new-string,即fun\03 个字符,输出为 funket\0

最佳答案

char str[30];
scanf("%s",&str);
^ don't pass address of array

只要这样就可以了 -

scanf("%29s",str);

关于反转字符串的代码不清除以前的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34900003/

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