c语言、编写函数reverse_string将字符串反序输出。
发布网友
发布时间:2022-05-01 13:23
我来回答
共3个回答
热心网友
时间:2022-04-22 12:48
只需将字符串的第一个元素和最后一个元素交换,第二个元素和倒数第二个元素交换,直到字符串长度一半时,就完成倒序了。切记不要全部倒序,不然又恢复成原字符串了。
#include <stdio.h>
#include <string.h>
// 反序字符串x并返回
char* reverse_string(char *x)
{
int len = strlen(x);
int i, n = len / 2;
char tem;
// 第一个和最后一个交换,第二个和倒数第二个交换
// 这样就只用交换一半
for (i = 0; i <= n; i++)
{
tem = x[i];
x[i] = x[len - 1 - i];
x[len - 1 - i] = tem;
}
return x;
}
int main()
{
char str[] = "0123456789";
printf("reverse string : %s\n", reverse_string(str));
return 0;
}
热心网友
时间:2022-04-22 14:06
//刚写的,测试通过,有疑问,欢迎交流
#include<stdio.h>
void reverse_string(char * str){
char * head = str; //保存指针头部
while(*str!='\0') //把st移到最后
str++;
while(str!=head){ //逆序输出
str--;
printf("%c", *str);
}
printf("%c", *str);
}
int main(){
reverse_string("helloworld");
return 0;
}
热心网友
时间:2022-04-22 15:41
void reverse_string(char *str)
{
int i;
for(i=0;*(str+i)!='\0';i++);
for(i>0;i>=0;i--)
printf("%c",*(str+i));
}