文字列を入力して逆順に出力

問題:テキスト1行を入力して、これを逆順に出力するプログラムを作れ。ポインタを使用せず配列を用いた形式で書き、ポインタを用いたものと比較せよ。

配列

#include <stdio.h>
#include <string.h>

int main() {
	char str[100];
	int n;
	gets(str);
	for(n=strlen(str); n>0; n--)
		printf("%c", str[n-1]);
	
	return 0;
}

ポインタ

#include <stdio.h>
#include <string.h>

int main() {
	char str[100], *p;
	gets(str);
	p = str + strlen(str) - 1;
	while(str <= p)
		putchar(*p--);
	
	return 0;
}

同じくらいの読みやすさで書けた。ポインタのほうが高速に処理できる(はず)。