15533617457 发表于 2020-10-12 17:10:01

字符串反转这个程序怎么不对

#include<stdio.h>
void reverse(char *c);
int main()
{
//初始化
char c[]="hello world";
reverse(c);
}
//反转函数
void reverse(char c[])
{
char count;
for(int i=0;i<11;i++)
{
    count=c;
    c=c;
    c=count;
}
//输出
    printf("%s",c);
}

wp231957 发表于 2020-10-12 17:12:46

怎么可以出现i<11这样的字眼,实在是太不专业了

xieglt 发表于 2020-10-12 17:38:12

#include<stdio.h>
#include<string.h>
void reverse(char *c);
int main()
{
        //初始化
        char c[]="hello world";
        reverse(c);
        return 0;
}
//反转函数
void reverse(char c[])
{
        long len = strlen(c);
        char count;
        for(int i=0;i<len/2;i++)
        {
                count=c;
                c=c;
                c=count;
        }
        //输出
    printf("%s",c);
}

永恒的蓝色梦想 发表于 2020-10-12 18:52:21

wp231957 发表于 2020-10-12 17:12
怎么可以出现i

大家本来也都不是专业的啊……

遗憾只藏心底 发表于 2020-10-12 19:22:18

当你运行第一次的时候,是C0和C10交换,当运行到一半时候,已经实现了反转交换,继续运行下去会让原来已经交换过的元素再次发生交换,所以未实现反转。例int A4=“abcd”,第一次 dbca 第二次 dcba,此时已经实现了反转,继续运行的话,第三次dbca,第四次abcd
页: [1]
查看完整版本: 字符串反转这个程序怎么不对