C 言語で文字列を逆順に格納する方法は何ですか?
文字列を逆順で保存するためには、ループを使用できます。まず、文字列の長さを計算し、その後、元の文字列と同じ長さの新しい文字配列を作成します。次に、ループを使用して、元の文字列を後ろから前に順番に走査し、1つずつ文字を新しい文字配列に割り当てます。最後に、新しい文字配列を出力します。
以下はサンプルコードです。
#include <stdio.h>
#include <string.h>
void reverseString(char* str) {
int len = strlen(str);
char reverse[len + 1]; // 创建新的字符数组
int i, j;
// 逆序赋值给新的字符数组
for (i = len - 1, j = 0; i >= 0; i--, j++) {
reverse[j] = str[i];
}
reverse[len] = '\0'; // 添加字符串结束符
printf("逆序字符串: %s\n", reverse);
}
int main() {
char str[] = "Hello, World!";
printf("原字符串: %s\n", str);
reverseString(str);
return 0;
}
結果出力:
原字符串: Hello, World!
逆序字符串: !dlroW ,olleH