[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 05/09 11:53 / Filesize : 185 KB / Number-of Response : 845
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C言語なら俺に聞け(入門篇) Part 15



1 名前:デフォルトの名無しさん mailto:sage [2007/06/25(月) 06:14:52 ]
C言語の入門者向け解説スレです。
・C++言語はスレ違いです。
・分からない事をなるべく詳しく書いて下さい。
・ソースコードを晒すと答えやすくなるかもしれません。
・質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。

前スレ
C言語なら俺に聞け(入門篇) Part 14
pc11.2ch.net/test/read.cgi/tech/1181735298/


教えて欲しいのではなく丸投げしたいならこちらへ
C/C++の宿題を片付けます 91代目
pc11.2ch.net/test/read.cgi/tech/1182607405/

175 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 01:29:33 ]
>>170
お前がその便利さを知らない、説明できないだけだろ?えせプログラマは
こんなところで質問者をたぶらかしてないで、へちょいプログラマで満足してろよ?

176 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 01:29:34 ]
>>174
ファイルを保存している場所と同じ場所にexeファイルがあると思われ

177 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 01:30:55 ]
>>175
へちょくないあなたがへちょい>>170の代わりに答えてあげてください

178 名前:デフォルトの名無しさん [2007/06/28(木) 01:34:22 ]
>>176
あるにはあるのですが、ドラッグアンドドロップはできませんし、
そのディレクトリに移動して 〜.exe と打っても実行されません

179 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 01:40:02 ]
>>178
コマンドプロンプトって何かわかってるか?

180 名前:デフォルトの名無しさん [2007/06/28(木) 01:42:45 ]
なんか全体的に黒いやつですよね?
わかってるつもりです

181 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 01:43:02 ]
ja.wikipedia.org/wiki/%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%83%97%E3%83%AD%E3%83%B3%E3%83%97%E3%83%88

182 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 01:45:17 ]
>>180
「notepad」って打ってメモ帳が起動するか?
ドラッグアンドドロップでフルパスが表示されて、エンター押して実行できると思ったんだけどなぁ

183 名前:デフォルトの名無しさん [2007/06/28(木) 01:48:14 ]
>>182
メモ帳はでてきます。
でもファイルをドロップしようとすると○の中に×が入ってるようなのが出てきて
できません



184 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 01:49:57 ]
もしかしてvistaか?

185 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 01:50:51 ]
>>183 ちょっwwwwwww伏字エロいwwwwwwwww
ティ○ポの中にオ×コが入ってるようなので とか妄想しちゃうぞwwwww

186 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 01:51:04 ]
>>183
xpとかだとドラッグアンドドロップできないようになってるのかな?
じゃぁあきらめてフルパス(c:\cpad\test.exeみたいなやつ)を打って実行するべし
入力面倒だけど。

187 名前:デフォルトの名無しさん [2007/06/28(木) 01:54:18 ]
>>186
Vistaですよ。
かなりめんどいってことですね〜〜…
ありがとうございました

188 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 01:55:23 ]
VistaはD&Dできないのか・・・ ひとつ勉強になった。

189 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 01:56:12 ]
セキュリティ云々でできなくなったそうだ

190 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 01:57:04 ]
なぁ〜〜に、こうすりゃええがな。XPを仮想PCにインストール。仮想PCでプログラミング
あっ武勇伝、武勇伝、武勇でんでんででんでんっ♪

191 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 02:41:46 ]
ポインタが無かったらprintfすら・・・

192 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 02:43:50 ]
ファイル操作も出来ないね

193 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 03:03:13 ]
そもそもポインタって何?実体は?それが理解できていないとダメ。
ja.wikipedia.org/wiki/%E3%83%9D%E3%82%A4%E3%83%B3%E3%82%BF



194 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 07:10:08 ]
2つの文字列を指すポインタ(例えばs1はABC、s2はABを指してる)で
下のソースコードだと2つの文字列が改行にいくまで繰り返すって言う意味ですかね?
while((*s1 != '\n') || (*s2 != '\n'))
{〜〜
s1++;
s2++}

195 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 07:12:03 ]
(;^ω^)恐ろしいコード

196 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 07:18:58 ]
すいません、ちょっと適当に書き込んだんで…。
ホワイルの中身の意味が知りたくて。

197 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 07:21:18 ]
>>194
そのロジックだと、s1、s2の改行文字の位置が揃っていないと誤動作しそうだが。
#つーか、>194自身が挙げたサンプルで死亡確定だな。

198 名前:デフォルトの名無しさん [2007/06/28(木) 07:57:55 ]
>>194
s1にもs2にも改行コードないからプログラム起動して即吹っ飛ぶ。
s1がABC\n、s2がAB\nだったとしても一致しないのでやっぱり吹っ飛ぶ。
そのコードはs1とs2の改行コード位置が一致した場合にループ抜ける。

199 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 08:00:03 ]
〜〜の中にきっとbreakが含まれてるんだ

200 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 08:45:23 ]
C言語の精度って小数点以下いくつなんでしょうか??

201 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 08:49:39 ]
そういう精度の決まり方じゃない。
これの IEEE 方式。
ttp://ja.wikipedia.org/wiki/%E6%B5%AE%E5%8B%95%E5%B0%8F%E6%95%B0%E7%82%B9%E6%95%B0

202 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 08:50:57 ]
言葉が足りなかった。
IEEE 方式のマシンが多い、と。
別にエクセス 64 のマシンでも C は使える。

C かどうかで決まるものではなく、
CPU が何かによって決まるもの。

203 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 10:07:58 ]
うん、それで、小数点以下いくつなんでしょうか??



204 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 11:11:40 ]
>>203
>>201に書いてあるだろ

205 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 11:14:24 ]
>>203
だから小数点以下いくつという形の精度じゃないと。
「浮動」小数点ってのは、そういう事だ。

206 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 12:07:34 ]
有効桁数って、確か中学で習うよな…?

207 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 14:02:25 ]
10進数だとIEEEの64ビット浮動小数点は小数点以下15桁ぐらいかな。
但しそれに掛ける10のn乗という指数が付くわけだが。


208 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 14:16:16 ]
有効桁数15〜16桁あたりだな。
本当は2進数で考えないといけないんだけど。

209 名前:207 mailto:sage [2007/06/28(木) 14:21:03 ]
#include <stdio.h>
#include <values.h>

int main(void)
{
printf("%d, %Lg, %Lg\n", sizeof(long double), LDBL_MAX, LDBL_MIN);
printf("%d, %g, %g\n", sizeof(double), DBL_MAX, DBL_MIN);
printf("%d, %g, %g\n", sizeof(float), FLT_MAX, FLT_MIN);

return 0;
}

gcc 4.1.1 (i386-redhat-linux) で上記のソースをコンパイルして
動かすと結果はこう出る。

12, 1.18973e+4932, 3.3621e-4932
8, 1.79769e+308, 2.22507e-308
4, 3.40282e+38, 1.17549e-38

e から後ろの部分が指数で「掛ける10のn乗」を表す。
3.3621e-4932 は 3.3621 掛ける10の -4932 乗だ。

但し上記の結果は環境依存で、同じ gcc でもコンパイルオプションに
よっては変わってしまう。だから全てについてこうであるという保証は
できない。(values.h も gcc 独自のヘッダかも知れない)。ただ大雑把に
言えることは float よりは double、また double よりは long double
の方が多くの範囲をカバーできるかも知れないというだけだ。
(コンパイラによっては long double はないかも知れないが)。


210 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 17:00:08 ]
ISO準拠の処理系ならlong doubleは必ずある。
209が使っている定数は<float.h>で提供されている。

211 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 17:01:51 ]
long double は必ずある。
しかし、double と同じサイズのこともある。

212 名前:デフォルトの名無しさん [2007/06/28(木) 17:10:52 ]
putchar関数の意味がよくわかりません。
質問が抽象的すぎてごめんなさい

213 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 17:12:06 ]
標準出力に文字(char)を一文字出力(put)する



214 名前:デフォルトの名無しさん [2007/06/28(木) 17:42:10 ]
…?
putchar('\n')
ってのはどういうことですか?

215 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 17:48:00 ]
標準出力はわかるか?
 通常は画面だと思っていい。
\n はわかるか?
 改行コードをあらわすエスケープシーケンスだ

つまり、画面上で改行する、ということ

216 名前:デフォルトの名無しさん [2007/06/28(木) 17:50:19 ]
それは
printf("\n")
とは違うんですか?

217 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 18:07:45 ]
printf は文字列を扱う
たまたまprintfで1文字出力するなら、putchar と同じ様になるな。
でも、printf の第一引数の文字列は % とか入ると違ってくるけどな。

218 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 18:08:09 ]
"\n" は文字列
'\n' は文字


219 名前:デフォルトの名無しさん [2007/06/28(木) 18:31:55 ]
でもこの場合では意味することは同じなんですよね?
というか、putcharでできることはprintfでもできるんですか?


220 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 18:32:55 ]
できるけど、効率は悪い。

221 名前:デフォルトの名無しさん [2007/06/28(木) 18:35:29 ]
それは打つ文字数が多くなるとかいうレベルの話ですか?
プログラムの内容には関係ないですよね?

222 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 18:36:12 ]
あります。

223 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 18:40:48 ]
printf は文字列を解析して
% が出てきたらどうするかとかいう処理を行ってる。
ま、出力自体のコストに比べりゃ微々たる差だがね。



224 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 18:41:45 ]
適材適所だ
printfで全部まかなうのもいいし、使い分けるのもいい。
同じことができるなら、片方はまったく無駄だと思ってるなら
それはキミが初心者だから。

225 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 18:42:18 ]
最近のコンパイラは賢いから、>>216なんかはputchar('\n');に最適化されるけどな。

226 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 18:43:47 ]
そこまでするのか! っていう最適化が
意外とされてるんだなあ。

227 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 18:48:02 ]
gccは printf("%s\n", "hoge"); を puts にしてくれたりするよね。

228 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 18:52:36 ]
>>227
こういうのってどうやって知るんですか?
○は□に最適化されるとか

229 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 18:55:28 ]
逆アセンブルしてもいいし、
両方のパターンを書いてコンパイルして
バイナリ比較して等しくなるかどうか確認したのでも。

230 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 18:57:45 ]
すごい!

231 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 19:08:41 ]
普通に gcc -S

232 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 19:31:12 ]
特徴的なものは宣伝していたりマニュアルに書いてあったりもする。

233 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 20:31:57 ]
スーパーハカーは自分で逆アセして知る。
一般人は掲示板で知る。



234 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 21:16:58 ]
確かに。
普通のハッカーなら掲示板でヒントを読んで自分で試して知るだろうな。

235 名前:ぴっころ [2007/06/28(木) 21:32:59 ]
突然お邪魔致します。ぴっころです。
2進数で表した時、2の倍数は最下位ビットが0になる事が分かりました。
では3の倍数は何かこのような決まりはあるのでしょうか?

236 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 21:33:54 ]
3進数で3の倍数は最下位ビットが0

237 名前:ぴっころ [2007/06/28(木) 21:36:37 ]
言葉足らずで申し訳ありません。
2進法で表した時です。

238 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 21:37:00 ]
ぴっころって誰だよ。

239 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 21:38:42 ]
>>235
ヒント1 : 2の倍数とは偶数のこと
ヒント2 : 3の倍数を並べてみよう

240 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 21:45:18 ]
2 進法では別に 3 (11) の倍数に特徴はないなあ。
3 (11) で割ったら余りが 0 になるということくらいだな。

241 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 21:45:44 ]
>>235
数学の問題だなあ。

3で割ると余り0

なんてのはあまり意味ないか・・・。

10進数で表した時に各桁を足して3の倍数ならそれは3の倍数
(123は1+2+3=6なので3の倍数)なんてのもあるが、関係ないね。


242 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 21:51:23 ]
3の倍数を2進法で表したものは、正規表現/(0|1(00)*1)*/にマッチする。

243 名前:ぴっころ [2007/06/28(木) 21:51:33 ]
>>238 ドラゴンボールのぴっころから取らせて頂きました。
>>239
   11
  110
 1101
 1100
 1111
10101
11000
11011
繰り返しもあるような無いような・・・。
ちょっと僕のキャパでは厳しいです・・・。



244 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 21:53:59 ]
>>243
18はどこへ消えた

245 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 21:54:19 ]
>>242
発想はいいがちょっと惜しいな。

1000000001の間に11を入れて1011000001も3の倍数だ。

246 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 21:55:49 ]
>>243
うそだ!
NHKのじゃじゃまる、ぴっころ、ぽろりのぴっころだろ?

247 名前:デフォルトの名無しさん [2007/06/28(木) 22:06:53 ]
bccってのをXPで使ってたんですが、vistaに変えたんですが環境設定ソフトでPATHの設定が出来ませんってのが出るんですが・・・・
vista出使える環境設定ソフトかPATHの設定方法を教えてください。

248 名前:ぴっころ [2007/06/28(木) 22:08:04 ]
   11
  110
 1101
 1100
 1111
10010
10101
11000
11011
11110
11→10→01→00
・・・。
ちょっときついです。
教えてもらえると助かります。

249 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 22:09:42 ]
1101のどこが3の倍数なんだよ。

250 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 22:11:40 ]
 1101
 1100

数が減ってるな
まぁ1001の書き間違いだろうからそれくらい勘弁してやれ

251 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 22:12:59 ]
>>247
マイコンピュータのプロパティの中にない?
XP/2003まではそこにあるんだけど。

252 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 22:23:37 ]
6bitでカルノー図書いてみたんだが一切簡単化できねーから周期性は無い臭い

253 名前:デフォルトの名無しさん [2007/06/28(木) 22:30:16 ]
>>251
システムのプロパティの中に環境変数でpathってのは見つけましたが違います?
マイコンピュータでプロパティやるとシステムのプロパティかCドライブのプロパティあたりしか出てきません。



254 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 22:31:30 ]
3の倍数で偶数に該当するものをリストアップしてやんよ
6 000000110
12 000001100
18 000010010
24 000011000
30 000011110
36 000100100
42 000101010
48 000110000
54 000110110
60 000111100
66 001000010
72 001001000
78 001001110
84 001010100
90 001011010
96 001100000

255 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 22:32:08 ]
>>253
たぶんそれでおk。

256 名前:デフォルトの名無しさん [2007/06/28(木) 22:35:43 ]
>>255
それをどうすればいいかわかります?

257 名前:デフォルトの名無しさん [2007/06/28(木) 22:39:43 ]
すみません、学校の電卓プログラム問題で、わからない事があるので教えてください。

char *get_int(char *b, char *i)
{
int sign, num = 0;
if(*b == '-')
{
sign = -1;
b++;
}
else sign = 1;

/*初期値*/
*i = 0;
/*スペーススキップ*/
SKIP(b);
/*十進数文字である間繰り返し*/
while (isdigit(*b)) {
num++;
/*これまでに得た整数の位取りアップ*/
*i *= 10;
*i += (*b - '0');
b++;
}
/*十進数文字がなければエラーリターン*/
if (num == 0) b = NULL;
return b;
}

上記は自分がわかる範囲でマイナス演算子を付け加えたのですが、
これからどうしていいのかわからないので、
どなたか教えてください。よろしくお願いします。

258 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 22:42:35 ]
> これからどうしていいのかわからない
だったら、それはお前のわかる範囲ではない。

259 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 22:43:02 ]
>>257
その一部じゃさっぱり。うpロダ使って全体をうpせい。それから実行結果の例も書いてくださいな

260 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 22:44:16 ]
(*b == '-')

かわいい

     ∧∧
〜(*b == '-') <ニャー
  >>  >>

261 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 22:46:19 ]
>>248
全ての3の倍数は、その数を3で割っても最下位ビットは変わらない。

262 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 22:46:26 ]
x = ( 'A'); やる気ねぇ〜顔

263 名前:ぴっころ [2007/06/28(木) 22:47:09 ]
>>254
なるほど。
6 00 00001 10
12 00 00011 00
18 00 00100 10
24 00 00110 00
30 00 00111 10
36 00 01001 00
42 00 01010 10
48 00 01100 00
54 00 01101 10
60 00 01111 00
66 00 10000 10
72 00 10010 00
78 00 10011 10
84 00 10101 00
90 00 10110 10
96 00 11000 00
下二桁 00→10の繰り返し、
下二桁より上 1ずつ増えているのは分かりました。 
ですが、これで1000000001の間に11を入れて1011000001も3の倍数だ。
が何故言えるのでしょう?あと、3の倍数に偶数が入ってくる理由も・・・。



264 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 22:47:21 ]
+= (*b - '0'); < 私を置いていくにゃ〜

265 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 22:48:53 ]
>>263
それは3の倍数じゃなくて6の倍数でわ?

3の倍数 かつ 偶数 = 6の倍数ですよ

266 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 22:49:05 ]
ファイルを指定した場所へ移動するにはどうしたらいいですか?

267 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 22:49:48 ]
>>256
BCCをインストールしたディレクトリのBinディレクトリとかのフルパスをPATHとかに追記する(セミコロンでつなげる)

268 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 22:51:18 ]
>>263
それ6の倍数並べてるだけじゃん

269 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 22:53:36 ]
>>263
単にそれは、例えば10進法で、15の倍数を並べたら一の位に0と5が交互に現れる、

ってことを言ってるのと同じだよ

270 名前:デフォルトの名無しさん [2007/06/28(木) 22:54:11 ]
>>267
どもです。
やってみます。

271 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 22:57:07 ]
3の倍数、偶数抜き。何か法則がある?
3 000011
9 001001
15 001111
21 010101
27 011011
33 100001
39 100111

272 名前:デフォルトの名無しさん [2007/06/28(木) 22:59:31 ]
A(n) = A(n-1) + 6

273 名前:デフォルトの名無しさん [2007/06/28(木) 23:13:28 ]
>>235
3の倍数は、奇数ビット目の1の数と、偶数ビット目の1の数の差が、3の倍数になる。
ただし、差が3の倍数といっても数が小さいうちはずっと0。

例:39
100111、奇数ビット目=2、偶数ビット目=2、差=0



274 名前:デフォルトの名無しさん mailto:sage [2007/06/28(木) 23:25:45 ]
分からないなら、10進数で同じコトを考えてみればいいよ

10進数だと、10の倍数は1の位が0だということが分かりました。
では11の倍数は、何か特徴があるのですか?

11
22
33


1の位が1ずつ増えていくことが分かりました!


…この結果で何か得られることはあると思うか?

275 名前:デフォルトの名無しさん [2007/06/28(木) 23:49:23 ]
unsigned char型の配列にbmpの画素の値を読みます。
これをソートするんですが、
ソートする関数の引数のところを
void quicksort(char *array,int lower, int upper)
とするとソートが正しくないことがあります。
void quicksort(unsigned char *array,int lower, int upper)にするとうまくいくようなきがするんですが、
あってますか?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<185KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef