在C语言中,要逆序输出字符串,可以使用以下方法:
#include<stdio.h>
#include<string.h>
void reverse_string(char *str) {
int len = strlen(str);
char *start = str;
char *end = str + len - 1;
char temp;
while (start < end) {
temp = *start;
*start = *end;
*end = temp;
start++;
end--;
}
}
int main() {
char str[] = "Hello, World!";
printf("原始字符串: %s\n", str);
reverse_string(str);
printf("逆序字符串: %s\n", str);
return 0;
}
#include<stdio.h>
#include<string.h>
void reverse_string_recursive(char *str, int start, int end) {
if (start >= end) {
return;
}
char temp = str[start];
str[start] = str[end];
str[end] = temp;
reverse_string_recursive(str, start + 1, end - 1);
}
int main() {
char str[] = "Hello, World!";
printf("原始字符串: %s\n", str);
int len = strlen(str);
reverse_string_recursive(str, 0, len - 1);
printf("逆序字符串: %s\n", str);
return 0;
}
这两种方法都可以实现字符串的逆序输出。第一种方法使用双指针法,从字符串的头尾开始交换字符,直到两个指针相遇;第二种方法使用递归,将字符串的头尾字符交换,然后对剩余的子字符串进行递归处理。