gpt4 book ai didi

c - 反转字符串

转载 作者:行者123 更新时间:2023-11-30 18:37:03 24 4
gpt4 key购买 nike

#include <stdio.h>
#include <stdlib.h>

int main()
{
char *s[]={"To err is human...","But to really mess things up...","One needs to know C!!"};
int i,j,len,t;
for(i=0;i<=2;i++)
{
len=strlen(s[i]);
for(j=0;j<len/2;j++)
{
t=*(s[i]+len-1-j);
*(s[i]+len-1-j)=*(s[i]+j);
*(s[i]+j)=t;
}
}
for(i=0;i<=2;i++)
printf("%s\n",s[i]);
return 0;
}

上面的程序有什么错误。我只是交换每个字符串两端的值。

最佳答案

除此之外,

char *s[]={"人都会犯错...","但是真正把事情搞砸...","一个人需要了解 C!!"};

在这里声明并初始化一个指向 char 的指针数组。这样每个指针都指向给定的字符串文字。因此,无论您在 for 循环中执行什么操作来反转或更改这些字符串,都将导致未定义的行为(在这种情况下,UB 通常是段错误/崩溃)。

至少将其更改为 char s[][100] = {"人都会犯错...","但是要真正把事情搞砸...","一个人需要了解 C!! “};

关于c - 反转字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38742558/

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