字符串反转这个程序怎么不对
#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);
} 怎么可以出现i<11这样的字眼,实在是太不专业了 #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);
} wp231957 发表于 2020-10-12 17:12
怎么可以出现i
大家本来也都不是专业的啊…… 当你运行第一次的时候,是C0和C10交换,当运行到一半时候,已经实现了反转交换,继续运行下去会让原来已经交换过的元素再次发生交换,所以未实现反转。例int A4=“abcd”,第一次 dbca 第二次 dcba,此时已经实现了反转,继续运行的话,第三次dbca,第四次abcd
页:
[1]