文字列を再帰的に逆置き
660 ワード
**
今日は文字列を再帰的に逆置きしてみましょう
**
ここではスタックの特徴、すなわち先進的なスタックの後出スタックを見て、もう一つのハイライトはポインタの操作を使って、文字列の最初のアドレスのポインタを伝えて、それでは1つの連続したメモリ空間の中でポインタを加減することができて、その意味は、加減1の意味は1つの要素をスキップすることができます.
今日は文字列を再帰的に逆置きしてみましょう
**
// , if, \0 , , , 。
//
#include
#include "stdlib.h"
void reverse_string(char* string)
{
if ('\0' != *(++string))
reverse_string(string);
printf("%c", *(string - 1));
}
int main()
{
char a[] = "a";
printf(" ");
scanf("%s", &a);
reverse_string(&a[0]);
printf("
");
system("pause");
return 0;
}
ここではスタックの特徴、すなわち先進的なスタックの後出スタックを見て、もう一つのハイライトはポインタの操作を使って、文字列の最初のアドレスのポインタを伝えて、それでは1つの連続したメモリ空間の中でポインタを加減することができて、その意味は、加減1の意味は1つの要素をスキップすることができます.