C言語なら俺に聞け! Part 100
■ このスレッドは過去ログ倉庫に格納されています
0730デフォルトの名無しさん
05/01/29 12:27:53{
int c;
static int i = 0;
static char *p = NULL;
if (p == NULL) p = s;
if (*s) {
c = *s;
reverse(s + 1);
p[i++] = c;
}
return;
}
これを
for (i=1; i<1000000; i *= 10) {
sprintf(p, "%ld", i);
printf("before %s\n", p);
reverse(p);
printf("after %s\n", p);
}
こういう風に使うと
before 1
after 1
before 10
after 101
before 100
after 100001
before 1000
after 1000
という結果になってしまいます。
どうして逆にならなかったり、おかしな表示になるんでしょうか?
■ このスレッドは過去ログ倉庫に格納されています