在C語(yǔ)言中,要逆序輸出字符串,可以使用以下方法:
#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;
}
這兩種方法都可以實(shí)現(xiàn)字符串的逆序輸出。第一種方法使用雙指針?lè)?,從字符串的頭尾開(kāi)始交換字符,直到兩個(gè)指針相遇;第二種方法使用遞歸,將字符串的頭尾字符交換,然后對(duì)剩余的子字符串進(jìn)行遞歸處理。