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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2009/10/06(火) 20:41:54 ]
C言語の*入門者*向け解説スレッドです。
初心者、初級者の方は他の質問スレのほうが良いかもしれません。

教えて欲しいのではなく宿題を丸投げしたいだけなら
↓宿題スレ↓へ行ってください。
C/C++の宿題片付けます 130代目
pc12.2ch.net/test/read.cgi/tech/1250204272/

・C++言語はスレ違いです。
・分からない事をなるべく詳しく書いて下さい。
・ソースコードを晒すと答えやすくなるかもしれません。
  # 抜粋/整形厳禁、コンパイラに渡したソースをそのまま貼ること
  # サイズが大きい場合は宿題スレのアップローダ等を利用してください
・開発環境や動作環境も晒すと答えが早いかもしれません。
・質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。

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

過去スレ
makimo.to:8000/cgi-bin/search/search.cgi?q=%82b%8C%BE%8C%EA%82%C8%82%E7%89%B4%82%C9%95%B7%82%AF&andor=AND&sf=0&H=&view=table&D=tech&shw=5000

148 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 18:46:25 ]
// ( * ) ここ


149 名前: ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ mailto:sage [2009/10/09(金) 18:51:41 ]
    ( 'A `)
     (⊃⌒*⌒⊂)
      /__ノωヽ__)
                   r-''ニl::::/,ニ二 ーー-- __
 肛門がしゃべった!!  .,/: :// o l !/ /o l.}: : : : : : :`:ヽ 、
                  /:,.-ーl { ゙-"ノノl l. ゙ ‐゙ノノ,,,_: : : : : : : : : :ヽ、
              ゝ、,,ヽ /;;;;;;;;;;リ゙‐'ー=" _゛ =、: : : : : : : :ヽ
              /  _________`゙ `'-- ヾ_____--⌒     `-: : : : : : :
...-''"│    ∧  .ヽ.  ________   /   ____ ---‐‐‐ーー    \: : : :
    !   /   .ヽ  ゙,ゝ、      /  ________rー''" ̄''ー、    `、: :
    .l./     V   `'''ー-、__/__r-‐''"゛     ̄ ̄   \   ゙l: :
                   l     .,.. -、、 _ ‐''''''''-、    l   !:

150 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 18:52:43 ]
コテかトリップ推奨
デフォルトの名無しさんをあぼんすれば解決
あらしは過疎スレでやってくれ

151 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 19:27:52 ]
#include <stdio.h>
int main(){
for(int i=0; i<4;i++){
int i=0;
printf ("%d", i);
i++;
}
printf ("%d\n", i);
return 0;
}

これの出力結果を答えられる?


152 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 19:31:39 ]
コンパイルエラーになるのでは

153 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 19:33:54 ]
いまどきVC6使ってるカスは氏ね。

154 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 19:34:17 ]
スレ違いを覚悟で敢えて言えば、某C++コンパイラのver6ではtypoを直せばコンパイルできる。

155 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 19:37:38 ]
>>151の不思議なところは
いったいどうやってそれを入力したのかということ
真性キチガイなら勝手に左手動いた・・・とかあるだろうけど

156 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 19:47:19 ]
左手?



157 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 19:51:58 ]
右手?

158 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 19:57:35 ]
#include <stdio.h>
int main(){
int i;
for(i=0; i<4;i++){
int i=2;
printf ("%d", i);
i++;
}
printf ("%d\n", i);
return 0;
}

こうだな。

159 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 20:07:06 ]
>>138
楽して使えるものは何でも使ったらいい
大昔は「実行ファイルが大きくなる」とか情けない理由もあったりした

160 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 20:10:26 ]
for(i=0; i<4;i++){
for(i=0; i<4;i++){

161 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 22:01:27 ]
>>144
っていうけど、gzip圧縮しただけだよな
尾ひれがついてとてもすごいことをやってるように思われてるのはちょっと。

162 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 22:03:52 ]
手品のタネが分かればみんなそう言うもんだw

163 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 22:05:39 ]
2chのソースが公開されてたけど、まさかのCだったな。

164 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 22:07:39 ]
とりあえずインクリメント用の変数にiだのjだの付けるのはやめてくれないか?目が痛くなる。
せめて3文字以上にしてくれよ。cntとかidxとかさ。

165 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 22:11:34 ]
iとjでいいよ。

166 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 22:11:59 ]
( * )ここ



167 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 22:14:52 ]
ソースをみてて、cnt, chk, idx みたいな変数があると、懐かしい気分になるな。

168 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 22:33:02 ]
>>162
思いつくまで大変だったのかもね。
mod_gzipをインストールする技術はなにか特別なわけではないし、
導入しているサーバは世にごまんとあった。
当時スレ見てた?それともその後のflashで知った世代か?

169 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 22:35:47 ]
確かに圧縮がどうこうじゃなく、それによる負荷上昇をなるべく抑える事が肝要だったな。

170 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 22:45:46 ]
>>168
見苦しいぞ古参
外野からいつもいつも「そんなこと余裕」ってうっせーんだよ

171 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 22:47:04 ]
( * )ここ


172 名前:デフォルトの名無しさん [2009/10/09(金) 22:48:32 ]
世代ってなんだろ?

2ちゃんねる(笑)始めるのに年齢とか関係あるの?

173 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 22:49:09 ]
>>170
中にいたから状況を覚えてるわけで。

174 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 22:56:53 ]
また始まったよ、糞が。どうしようもないな

175 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 22:59:26 ]
いいじゃん。
こんな糞コミュニティの古参気取っても自慢にならないし。

176 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 23:07:01 ]
便所の壁が綺麗だったことなど一度もない!



177 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 23:12:02 ]
過大評価されてる情報を鵜呑みにしてるから、そうでもなかったよと
真相を伝えてるだけじゃないの?老いると教えたがるみたいだしなー

俺はそんなのどうでもいいし、2ch使えればそれでいいw

178 名前:デフォルトの名無しさん mailto:sage [2009/10/09(金) 23:13:17 ]
古参がコピペにマジレスするとは

179 名前:デフォルトの名無しさん [2009/10/10(土) 01:05:22 ]
つい最近、C言語始めたものですが下記のような文章でコンパイルしても
65とか入力しても「×です。」って出るんですけどなぜでしょうか?


#include<stdio.h>
int main(void) {
int a ;
printf("数字を入力してください。 \n");
scanf("%d", &a);
if( 0 <= a <= 59 ){
printf(×です。\n");
}
return 0;
}

180 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 01:10:40 ]
>>179
if( 0 <= a && a <= 59 ){


181 名前:デフォルトの名無しさん [2009/10/10(土) 01:13:21 ]
ありがとうございます。

182 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 01:17:57 ]
>>179のコードもコンパイルできるのか
考えてみたらif(0<=a<=59)は
まず0<=aが評価されて、0<=65だからこの式が真(1)と評価されて
次に1<=59が評価されて真(1)になるから
if文の中のprintf文が実行されるってことか

183 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 16:40:33 ]
int main(void)
{
char buf[1024];
char *log[1000];
int line, printline;
FILE *fp = fopen("abc.txt", "r");

puts("これから読み込み\n");
for(line = 0; fgets(buf, sizeof buf, fp); line++){
log[line] = malloc(strlen(buf) + 1);
strcpy(log[line], buf);
}

puts("これから表示");
for(printline = 0; printline < line; printline++){
printf("%s", log[printline]);
free(log[printline]);
}

fclose(fp);
return 0;
}

for(line = 0; fgets(buf, sizeof buf, fp); line++) って部分のfgets(buf, sizeof buf, fp)は文字列を取り出してると思うんですが、
forの終わりの条件部分に当たる箇所になぜこれを指定してるんでしょうか?

184 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 16:44:23 ]
forの終わりじゃないから

185 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 16:49:25 ]
>>184
kwsk


186 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 17:03:44 ]
line = 0;
while(fgets(buf, sizeof buf, fp)
{
log[line] = malloc(strlen(buf) + 1);
strcpy(log[line], buf);
line++;
}



187 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 17:05:38 ]
>>183

>fgets
>戻り値
>ファイルの終わりかファイルエラーの場合は NULL を返します。

188 名前:デフォルトの名無しさん [2009/10/10(土) 17:59:35 ]
ポインタが理解できない理由を考えてみた。
ポインタは指し示すもの。値を参照したいときに利用するにとどめるべき。
unsgined char str[] = "123";
unsigned char *ptr;
ptr = str; //ここでptrはstrを指し示している。
*(++ptr) = 'A'; //*を使って値を書き換えようとする時点でポインタではない。

189 名前:デフォルトの名無しさん [2009/10/10(土) 18:18:14 ]
s/unsgined/unsigned/

190 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 18:53:04 ]
関数名に「$」を使ったら講師に怒られたのですが何故だめなんでしょう?
英数字とアンダーバーで無いとだめだって。
コンパイルは通るのですが何がだめなのかわかりません。

191 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 19:08:14 ]
>>190
コンパイルできるなら別にダメじゃないよ。
・講師が間違っている
・講師の頭が硬い
・これまでのCプログラマが築いた習慣を尊重している(でもダメだと頭ごなしに怒るのは間違い)
のいずれかだろう。

192 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 19:08:28 ]
>>190
C99からはユニバーサルアルファや処理系定義な文字が識別子に使えるので、
C89縛りがないなら使ってかまわない。

193 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 19:22:26 ]
より規格に準拠するなら \u0024 と書くべき

194 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 19:33:43 ]
>>186
これのほうが理解しやすいね。サンクス
>>187
把握した。

195 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 19:37:16 ]
> 講師に怒られたのですが何故だめなんでしょう?
なんにせよその場で質問しなきゃいかんよ

196 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 19:52:19 ]
改行したいのですがバックスラッシュが入力できません。
開発環境はVCです。
お願いします。



197 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 19:54:02 ]
>>195
頭の悪いやつに何を訊いても意味がない。
自分で調べた方がマシ

198 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 19:55:31 ]
\

コピペしる

199 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 19:56:12 ]
>>196
「¥」 = 「\」
Windowsの標準的なフォントではバックスラッシュと円記号が同じキャラクタコードに割り当てられていて
なおかつ、円記号しか表示されないようになっています。
エスケープシーケンス等を使用したければ、「¥」を使いましょう。

200 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 19:58:12 ]
>>196
ばか

201 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 20:12:44 ]
>>196
trigraph を使えばよい。
 ??/ ←このように3文字書けばバックスラッシュとして扱われる。



202 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 21:17:07 ]
まあ日本語環境での話だけどね。

203 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 21:21:22 ]
日本語環境ならJISコードにバックスラッシュが無いから、
本来はトライグラフを使わなければならないはずなんだよな。


204 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 21:28:51 ]
永遠にスラッシュ=円記号って仕様を引っ張ろうとしている
マイクロソフトの意思は理解できない。

205 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 21:32:19 ]
なんでマイクロソフトのせいになるんだ

206 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 21:35:57 ]
>>205
LinuxとかMacだとその仕様がもうとっくになくなってるんでしょう?
っていうか最初からなかったかもしれない



207 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 21:39:32 ]
は?

208 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 21:41:34 ]
英文フォントに変えてみろ

209 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 21:51:50 ]
MSではなくJISに文句を言うべきだろう

210 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 21:54:57 ]
コンソールアプリで何かキーを一つ押されたら(エンターキーが押されなくても)すぐに処理を進めるにはどうしたらいいですか

211 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 22:00:18 ]
何かキーが一つ押されるまで処理を進めないようにすればいい。


212 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 22:03:07 ]
kbhit()とか

213 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 22:23:25 ]
それは関係ない。

214 名前:デフォルトの名無しさん mailto:sage [2009/10/10(土) 22:24:18 ]
conioのgetchでできましたありがとうございました。

215 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 00:24:50 ]
グローバル変数使いまくりのプログラムをマルチスレッド化しようと思って
まずグローバル変数を構造体に纏めて関数に構造体のポインタを渡して処理するよう改造したんですが
速度が約半分になってしまいました。
まだマルチスレッド化はしておらずシングルスレッドでの比較です。
何か改善する方法があれば教えてください。


216 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 00:47:41 ]
プロファイリングしてどの部分で時間食ってるのか調べる方法をググれ。



217 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 00:49:11 ]
ポインタ演算が増えたからだろ


218 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 09:56:42 ]
ポインタ演算で速度が半分に落ちるとは思えない。
おそらく、どこかが期待通りのコードになってないんだろう。
ポインタ渡しのつもりが、全部コピーになってるとか

219 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 10:08:14 ]
structを返す関数は仕様上遅い筈
逆に言えばCは言語仕様的に決して速度を最優先したものではない
こと示す例

220 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 10:20:21 ]
単純に聞くけど、欲しい?

GCとBlockをC1Xに提案
www.open-std.org/jtc1/sc22/WG14/www/docs/n1370.pdf

米Apple、「Grand Central Dispatch」をオープンソースに
sourceforge.jp/magazine/09/09/14/0627259
マルチコア時代の新機軸! Snow LeopardのGCD
tech.ascii.jp/elem/000/000/455/455786/

221 名前:デフォルトの名無しさん [2009/10/11(日) 11:33:25 ]
グローバルでは絶対番地だけでアクセスできていたのが、
構造体にした途端にベース+ディスプレースメント計算がいちいち必要になったんだろ
それと別な話、マルチスレッド化ってことはコンテキストスイッチも入るから更に遅くなるはず
速度を気にするならシングルスレッドのまま二足のわらじを履いたほうがいい

222 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 11:45:34 ]
はあ?

223 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 11:57:15 ]
>>221
理論だけで語るなら、コンパイラの最適化とかCPUのパイプライン処理とかあるから、
アドレスの計算量が2倍になったくらいで、全体の処理速度が半分になるとは信じがたい。

224 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 12:01:48 ]
マルチスレッド化しようと思って排他制御でも入れたんじゃね?

225 名前:デフォルトの名無しさん [2009/10/11(日) 12:18:28 ]
まあ、アドレス計算=全体の速度なわけはないな

>>215 は「ポインタを渡して」と言っているわけで引数に関しては無から有への変更だ
関数がインラインでない場合は分岐がパイプラインに影響しかねんし、仮にリンクレジスタ使ってもネストすれば結局メモリアクセスになる
最適化による自動 register 指定が逆効果(同時使用レジスタ数とメモリアクセスのジレンマ)ということも考えられる

226 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 12:41:18 ]
電話相談で簡単に答えてしまう医者はすくなくともモグリか薮



227 名前:デフォルトの名無しさん [2009/10/11(日) 12:54:08 ]
ご心配なく
一番肝心なことは言ってないし

228 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 12:55:01 ]
- 結果としてBASICが根幹にあるんですね。
  どうしてでしょうか。

簡単で手軽、誰にでも学習の機会があることでしょうね。
CやHSPだとこうはいきません。

CやHSPだとAPIのノウハウが必要になりますし、それは大きな障壁となります。

229 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 14:58:21 ]
>>226-228
何の話?

230 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 16:31:33 ]
1つの変数に複数の型の配列を入れたいんですが、
void **list = malloc(sizeof(void) * 2);
list[0] = malloc(sizeof(char) * 10);
list[1] = malloc(sizeof(int) * 10);

とした場合、list[0]はcharポインタを指し、list[1]はintポインタを指してるという認識であってますでしょうか。
list[0]に10文字以上のcharを代入してもエラーが起きないのがよくわかりません。


231 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 16:31:43 ]
( * )ここ

232 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 16:39:45 ]
list[0]はvoid *だからchar *にキャストすれば、そのように捉えることもできるが
所詮メモリ上のバイト列だからどうとでも考えられる

>list[0]に10文字以上のcharを代入してもエラーが起きない
メモリチェックツール使えばエラーを捕えられるよ

あとsizeof(void)じゃなくてsizeof(void *)じゃないかな

233 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 16:43:06 ]
>>230
> list[0]はcharポインタを指し、list[1]はintポインタを指してるという認識であってますでしょうか。
あってません。

> list[0]に10文字以上のcharを代入してもエラーが起きないのがよくわかりません。
10文字以上のcharを代入したいプログラマがいるかもしれないから、エラーにはしない主義。

234 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 16:45:53 ]
( * )ここ


235 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 17:00:38 ]
>>230
>list[0]に10文字以上のcharを代入してもエラーが起きないのがよくわかりません。
Cの基本的考えは自己責任。

小さな政府&自己責任。
市場原理主義派のプログラミング言語です。


236 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 17:14:15 ]
list[ * ]ここ



237 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 17:18:11 ]
C99ですね、わかります
オナニーは自分の部屋でやってください

238 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 17:19:03 ]
list[ * ]ここ


239 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 17:38:51 ]
何とC99が関係あるんだ

240 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 21:08:20 ]
C99はマルス券の万能取り消し符号

241 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 22:49:12 ]
そもそもsizeof(void)なんかコンパイラを通るの?
voidはサイズなどなかったような…

242 名前:デフォルトの名無しさん [2009/10/11(日) 22:58:03 ]
> void **list = malloc(sizeof(void) * 2);

シムラ〜後ろ後ろ


> list[1] = malloc(sizeof(int) * 10);

本当にヤバいのは、むしろこっち

243 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 23:15:44 ]
void(無形)として宣言してるものにint(有形)の型を代入してるもんな。
逆(void→int等)はキャストで可能だし普通に使うけど。

244 名前:デフォルトの名無しさん mailto:sage [2009/10/11(日) 23:33:08 ]
void*にint*を代入するのは全く問題ないだろう

245 名前:デフォルトの名無しさん [2009/10/11(日) 23:47:26 ]
malloc の戻りは常に void * なんだけどね
list[x] がホーキング放射みたいに特徴がなくなるんだよ

246 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 00:18:45 ]
複数の異なる型を保持したいなら配列じゃなくて構造体を使うべき。



247 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 00:19:27 ]
共用体だろ

248 名前:デフォルトの名無しさん mailto:sage [2009/10/12(月) 00:25:22 ]
list[0]とlist[1]をまとめて1つの領域として扱いたがってるようには見えないが?






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

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

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