ポインタを用いて文字列を逆順に格納
Posted: 2009年3月01日(日) 01:27
こんばんは、いつもお世話になっています。
さっそくですけど、このプログラムは文字型配列str1に"ABCDEFGHIJKLMN"という文字列が格納されています。
ポインタを二つ用いて、文字型配列str2に、この文字列を逆順に格納します。
p1がstr1より大きい間繰り返すというのは分かりますが、比較しているってことは、何か値みたいなものが
あるのですか?
さっそくですけど、このプログラムは文字型配列str1に"ABCDEFGHIJKLMN"という文字列が格納されています。
ポインタを二つ用いて、文字型配列str2に、この文字列を逆順に格納します。
#include <stdio.h>
int main(void)
{
char str1[/url] = "ABCDEFGHIJKLMN";
char str2[20];
char *p1, *p2;
p1 = str1;
p2 = str2;
while (*p1 != '\0') {
p1++;
}
while (p1 > str1) {
p1--;
*p2 = *p1;
p2++;
}
*p2 = '\0';
printf("str1=%s\n", str1);
printf("str2=%s\n", str2);
return 0;
}
・while (p1 > str1)のp1とstr1は何を指しているのですか?p1がstr1より大きい間繰り返すというのは分かりますが、比較しているってことは、何か値みたいなものが
あるのですか?