[表示 : 全て 最新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/

520 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 21:16:43 ]
そもそも1バイト=8ビットと決まってるわけじゃねーし。
厳密に8ビットというなら1オクテットと表現すべき。

521 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 21:20:50 ]
じゃ1バイト=9bitなんていういかれた環境があるのかよ!
と思っていた時期が私にもありました

本当にあったんだね

522 名前:511 [2007/07/02(月) 21:21:02 ]
サンクスです

ですが、どうして128 * 8 して出すのかが
納得できません。。。

523 名前:511 [2007/07/02(月) 21:21:52 ]
なんとなくわかりました
サンクスでした

524 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 22:30:20 ]
なんとなくかよw
じゃあ君が大好きなタコを例にして分かりやすく解説しよう。

「タコには足が8本あります。ここにタコが128匹います。全部で足は何本でしょう?」

タコ→バイト、足→ビット、に置き換えるとあら不思議。

525 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 22:34:05 ]
128匹のタコ全部が足8本だとは限らないだろ

526 名前:390 mailto:sage [2007/07/02(月) 22:45:49 ]
#include <stdio.h>

main()
{
int a;
float b;

for(a=0; a<=100; a++)
printf("セ氏温度:%d カ氏温度:%.2f\n",a ,fahrenheit(a,b));
}

int fahrenheit(int x,int y)
{
y = (float)(9/5)*x+32;
return y;
}

セ氏温度0〜100℃に対してカ氏温度を出したいのですが
出力の際、カ氏温度が0.00になってしまします。
間違っているところの指摘をお願いします。

527 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 22:46:43 ]
例の一匹の足の1本はすでに俺は食べた

528 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 22:50:20 ]
>>526
fahrenheit()の第2引数はint型なのにfloat型のbを渡している
fahrenheit()の戻り値の型はint型なのに%.2fを指定している



529 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 22:53:38 ]
もうひとつ。どっちにしろint型で返すことになってるが、
y = (float)(9/5)*x+32;
は意図したのと違くなっていると思う

530 名前:526 mailto:sage [2007/07/02(月) 23:04:50 ]
>>fahrenheit()の戻り値の型はint型なのに

この部分はどう直せばいいのですか?

531 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 23:08:52 ]
戻り値をfloatに変えるとか、%dに変えるとか

532 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 23:19:45 ]
struct abc{
char a;
}

main()
{
char b, c;

c = ((struct abc)b).a;
c = ((struct abc *)b)->a;
}

c = ((struct abc)b).a;がダメで
c = ((struct abc *)b)->a;が良い理屈を教えて下さい。


533 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 23:22:10 ]
>>532
それって良いのか?
コンパイルは通るだろうが、実行したら間違いなくSegmentFaultだぞ

534 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 23:22:17 ]
((struct abc *)b)->a;
は偶然うまく動くかもしれないが、よくない。

535 名前:526 mailto:sage [2007/07/02(月) 23:23:06 ]
エラーで「初期化されていないローカル変数"b"が使用されます」
と出るのですがこれが原因ですか?

536 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 23:24:31 ]
>>533
aのoffsetが0ならうまく動くだろ。

537 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 23:25:19 ]
>>532
(struct abc *)b はbで示される何らかの値をstruct abc のポインタに変換している

で b の値はポインタか?
どっちもよろしくない

538 名前:536 mailto:sage [2007/07/02(月) 23:29:11 ]
てっきり、&bかと思ってたわ・・・



539 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 23:34:58 ]
>>535
a はfor文で値が入るが b には初期かも代入もされていない
b に値を入れろ

540 名前:デフォルトの名無しさん mailto:sage [2007/07/02(月) 23:38:15 ]
>>536

c = ((struct abc *)&b)->a;

なら、aのoffsetが0ならうまく動くかも知れん。
が、>>532はそうはなっていないので間違いなく保護違反

541 名前:532 mailto:sage [2007/07/02(月) 23:58:38 ]
ほんと、すいません。
c = ((struct abc *)&b)->a;
でした。

542 名前:535 mailto:sage [2007/07/02(月) 23:58:55 ]
>>539
bに値を入れたら結果が変わりませんか?

543 名前:532 mailto:sage [2007/07/03(火) 00:04:41 ]
素人目にはc = ((struct abc)b).a;でも
問題ないように思えるのですが、
なにがダメなのでしょうか。

544 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 00:09:44 ]
そう思えるから素人なんです。

545 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 00:52:50 ]
すげえ正論だが質問の答えにはなってないな

546 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 00:55:00 ]
>>543
何でって言われても、言語仕様でそのようなキャストは認められていないから、としか。

547 名前:511 [2007/07/03(火) 00:56:08 ]
>>524
8~128でしょうか?

548 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 00:57:13 ]
タコ釣りか?



549 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 00:57:38 ]
~ ってなんだよ

550 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 00:59:48 ]
ティルデ

551 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 01:03:41 ]
ニョロ

552 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 01:05:08 ]
0 1ビット
01 2ビット
010 3ビット
0101 4ビット
01010 5ビット
010101 6ビット
0101010 7ビット
01010101 1バイト

553 名前:デフォルトの名無しさん [2007/07/03(火) 01:08:27 ]
>>547
例題がタコだからといって、演算子までタコにするのはやめような。

554 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 01:10:35 ]
いつか 1byte != 1octet の時代は来るのだろうかー・・・

555 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 01:11:49 ]
ヽ (゚o゚)∫
 ノ川ル

556 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 01:12:40 ]
>>554
1byte == 1octet の時代なんて一度も来た事がないんだが。

557 名前:デフォルトの名無しさん [2007/07/03(火) 01:21:37 ]
まだC言語とかやってたんだ。
懐かしいなー

558 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 02:01:19 ]
今でも、36ビットワードマシンとかでは1バイト=9ビットだね

UTF−9とかもあるし



559 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 02:04:28 ]
UTF-9 はエイプリルフールのネタじゃなかったっけ?

560 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 07:16:54 ]
scanfやfgetsで文字を入れて
文字列を比較する場合、どうすればいいんでしょうか?

char* str;
fgets(str,100,stdin);
if(str=="start"){
なんとかかんとか;
}

これ、うまく動かないんですが

561 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 07:18:20 ]
strcmp

562 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 07:33:18 ]
>>560
1. str の指す領域を確保する
2. 文字列の比較には strcmp を使う
3. 比較する文字列を "start\n" にする

563 名前:526 mailto:sage [2007/07/03(火) 08:27:43 ]
#include <stdio.h>

main()
{
int a;
int b=0;

for(a=0; a<=100; a++)
printf("セ氏温度:%d カ氏温度:%d\n",a ,fahrenheit(a,b));
}

int fahrenheit(int x, int y)
{
y = (9/5)*x+32;
return y;
}

誰かこのプログラムをカ氏温度が小数点まで
出力されるように改ざんしてください;

564 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 08:29:25 ]
>>563
double型の変数でも使えばええやん・・・

565 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 08:48:21 ]
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

struct list{
char *name;
struct list* next;
};

int main(void){
struct list *head,*ume;
char *str;
head=NULL;
str=(char*)malloc(100*sizeof(char));
printf("名前を入力(endで終了)>");
fgets(str,100,stdin);
while(strcmp(str,"end\n")!=0){
ume=(struct list*)malloc(sizeof(struct list));
ume->name=str;
ume->next=head;
head=ume;
printf("名前を入力(endで終了)>");
fgets(str,100,stdin);
}
printf("%s%p\n",head->name,head);
return 0;
}
リスト構造体のテストやってみたんですが
これ実行して、taro、hanako、endと入力したら
endが表示されるんだけどどこがおかしいんですかね?
endと入力した時点でwhileから抜け出し、head->nameがendになると思えないんですが・・・

566 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 08:54:24 ]
>>565
> head->nameがend
ume->next=head;
head=ume;
↑そりゃなるだろw

567 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 09:05:44 ]
>>565
おかしいっていうのは、期待した動作と違うって事だろうけど
何をしたいのか分からんのに、答えられるわけ無いだろ

568 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 09:16:49 ]
>>565
エスパー回答
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct list{
char *name;
struct list *next;
};
int main(void){
struct list *head, *ume;
char *str;
head = NULL;
str = (char *) malloc(100 * sizeof(char));
for(;;){
printf("名前を入力(endで終了)>");
fgets(str, 100, stdin);
if(strcmp(str, "end\n") == 0) break;
ume = (struct list *) malloc(sizeof(struct list));
ume->name = strdup(str);
ume->next = head;
head = ume;
}
ume=head;
while(ume!=NULL){
printf("%s", ume->name);
ume=ume->next;
}
return 0;
}



569 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 09:21:00 ]
>565
ume->nameは常にstrを指していて、最後にendになってんだから当たり前だろ。

570 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 09:45:41 ]
>>565
まあ大体察しはつくが・・・

「おかしい」って言う以前に、どういう動作を期待しているのかちゃんと書こうな

571 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 09:54:45 ]
どのくらいの変数が必要なのかよくわからないときは
とりあえず多めに変数宣言用意しておいてもいい?
int i,j,k,l;
double a,b,c,d,e;
char f[1000],g[1000],e[1000];

とか・・・
変数○○は使われていませんって警告がでるけど
多くしたら実行速度下がるとかエラーでるとかこまったことがおきるとかありますか?

572 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 09:54:56 ]
struct list{
char *name; < いっ、いいんかい?
struct list *next;
};

573 名前:デフォルトの名無しさん [2007/07/03(火) 09:59:25 ]
571
困ったことが起こるよ
new だといい

574 名前:デフォルトの名無しさん [2007/07/03(火) 10:02:14 ]
571
使ったことないけど
std::vector, std::string
がいいみたいだよ

575 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 10:08:31 ]
C++とSTLの世界へご招待〜

576 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 10:14:18 ]
C言語の入門者向け解説スレです。
・C++言語はスレ違いです。

577 名前:デフォルトの名無しさん [2007/07/03(火) 10:16:25 ]
576
C言語専用の環境使っているやつがいるか?

578 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 10:21:31 ]
そりゃいるでしょ



579 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 10:25:00 ]
>>571
一応ありはありだが
・万一配列のサイズを超えたときにそれをはじくようなチェックを入れておく。
・スタックにあまり大きな配列を取らない(char *f, *g, *eにして領域をmallocする)。
あたりは注意しておいたほうがいい。
速度はメモリ浪費でスワップしない限りさほど落ちない。

580 名前:デフォルトの名無しさん [2007/07/03(火) 10:30:04 ]
今日はじめてSTLググってみたけど、これは使うべきだな
初心者こそ使うべきだな
コーディングが楽になるな

581 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 11:45:36 ]
charの配列の[0]から[3]の4バイトにデータがあります。
これを一つのintの変数に入れたいのですが、どうやればいいですか?

582 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 11:48:29 ]
>>581
過去ログを読む気がないのなら、やりたいことを具体的に書け。
どんなデータをどう入れたいのか判らんことには答えようがない。

583 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 11:48:39 ]
*(int*)配列名

584 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 11:49:50 ]
>>583
バスエラーの可能性ががが

585 名前:デフォルトの名無しさん [2007/07/03(火) 11:55:18 ]
c[0]+(c[1]<<8)+(c[2]<<16)+(c[3]<<24)

586 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 11:56:39 ]
union使うとか

587 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 11:57:53 ]
>584
配列の0から3でもバスエラーって発生するもんなの?

588 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 12:00:28 ]
>>587
char配列がint安全な場所に作られる保証はない。
その点ではunionの方がまし。
しかし、unionには言語仕様的に実装依存の罠が。
そういう意味では>585でいいのだがエンディアンの問題が残る。

まぁ、最近のコンパイラならどれで書いても同じようなコードを吐くしね。



589 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 12:11:23 ]
>>588
そういやこういう場合かもしれんしな。

#include <stdio.h>
#include <stddef.h>

int main() {
struct A {
char a;
char b[4];
};

printf("%ld\n", offsetof(struct A, b));
}

590 名前:581 mailto:sage [2007/07/03(火) 12:30:43 ]
>>583
一番簡潔なのですがかなり難解です。これから考えます。
>>585
一番分かり易いです。

unionの使い方に悩みましたがcharの配列と一つのintのメンバ変数を用意して
charの配列にデータを入れてintのメンバ変数でアクセスすればいいのですね。面白い。

591 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 12:36:02 ]
GCC で試した所、
-O (最適化レベル1か、それ以上)
-funroll-loops (ループ展開最適化)
フラグを立てると >>585 みたいなコードを吐いてくれるみたいだ。

int toInt(const char* ch) {
union {
char ch[sizeof (int)];
int i;
} endian;

int i;
int shift, dshift;
int n = 0;

endian.i = 0;
shift = *endian.ch ? 0 : (sizeof (int) - 1) * CHAR_BIT;
dshift = *endian.ch ? CHAR_BIT : -CHAR_BIT;
for(i = 0; i < sizeof (int); i++) {
n |= ch[i] << shift;
shift += dshift;
}
return n;
}

592 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 14:59:59 ]
最近、関数のメモリの場所をポインタで取得できることを知ったのですが、
これを利用してデリゲートまがいなことってできませんかね?

593 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 15:00:37 ]
qsort() とか使ったことない?

594 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 15:41:43 ]
int a, b;
があって両者の絶対値の大きさを比較したいとき
自乗した値を比較するのとabs()を使うのではどちらが速いのでしょう?
自乗してもintの範囲を超えないことは保証されているという前提で。

またこういったベンチマークテストはどうやって行うのでしょう?

595 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 16:02:53 ]
数百万回〜数億回くらい実行して、速度を比較する。

596 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 16:15:19 ]
>>594
こんなコードを書いてみる。
#include <stdio.h>
#include <stdlib.h>

int main()
{
volatile int a;
volatile int b;
for (int ic = 0; ic < 100 * 1000 * 1000; ++ic) {
#if 1
volatile int c = abs(a) > abs(b);
#else
volatile int c = a * a > b * b;
#endif
}
return 0;
}
こいつをこんな感じで実行してみる。
$ gcc foo.c -std=c99 -O3 ; time ./a
foo.c: In function `main':
foo.c:11: warning: unused variable `c'

real 0m0.734s
user 0m0.687s
sys 0m0.047s
意外にも、abs()の方が遅かった。

597 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 16:18:21 ]
abs は条件判定が必要だからな。

598 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 16:34:10 ]
あー、volatile宣言のお蔭で、参照回数の影響も出ちゃった。
よって一部訂正。
#if 0
int aa = a; int bb = b;
volatile int c = abs(aa) > abs(bb);
#else
int aa = a; int bb = b;
volatile int c = aa * aa > bb * bb;
#endif
今回は大勢に影響はなかったけど。
で、ついでに-Sでアセンブリ出力を眺める。二乗版はこんだけ。
movl -4(%ebp), %eax
movl -8(%ebp), %edx
imull %eax, %eax
imull %edx, %edx
cmpl %edx, %eax
setg %dl
movb %dl, -9(%ebp)
abs()版はどうしても条件分岐しないためにビット操作であれこれ捻り過ぎ。
movl -8(%ebp), %edx
movl -12(%ebp), %eax
movl %edx, %ecx
sarl $31, %ecx
xorl %ecx, %edx
subl %ecx, %edx
movl %eax, %ecx
sarl $31, %ecx
xorl %ecx, %eax
subl %ecx, %eax
cmpl %eax, %edx
setg %dl
movb %dl, -13(%ebp)



599 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 16:50:59 ]
バイナリーサーチというものをやる場合
データが小さい順もしくは大きい順に並んでなかったらできない?
つまりめちゃくちゃなデーターがあったら一旦それをバブルソートなどで整列させないとダメってことですか?

600 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 16:51:52 ]
そう。

601 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 16:52:21 ]
わざわざバブルソートを選択する理由も無いけどな

602 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 16:52:46 ]
>>599
その通りです
バブルソートである必要はありませんが…

603 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 17:00:04 ]
バブルソート突っ込まれ過ぎワロタ

604 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 17:19:51 ]
>>599
揃っているからこそのバイナリサーチじゃないか。
って、仕組み見たら一目瞭然だと思うが・・・・・

で、バブルソートである意味はない。

でも、ふと思ったのは、必要なものをすべて見つける必要はなくて
一つ見つければいいというのであれば、動的に必要な部分だけ
ソートしながら利用するっていう使い方もあるのかな、と思った。

レイトバインディングのように、対象要素が大きくて
ソートの初期化コストが大きかったり頻繁に要素が追加されるという状況で使えないかな?
それともそういう場合はB-Treeとかを使っておくべき?(追加のコストによるのかな?)

605 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 19:08:21 ]
#include いろいろ
struct list{
int data;
struct list *next;
};
void showlist();
int main(void){
int indata,i,j;
struct list *head,*test;
head=NULL;
while(1){
printf("数を入力(終了は0)>");scanf("%d",&indata);
if(indata==0)
break;
test=(struct list*)malloc(sizeof(struct list));
test->data=indata;
test->next=head;
head=test;
}
showlist();
return 0;
}
void showlist(){
struct list *now;
while (now!=NULL){
printf("%d ",now->data);
now=now->next;
}
};

構造ポインタで次々入力しshowlistで表示するというのを作ったんだけど
これ実行したら、mainのreturn 0の上のshowlistがプロトタイプ宣言が無いと警告でるんですがどうしたらいいですか?

606 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 19:25:05 ]
void showlist(void);
         ↑型を入れる

607 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 20:14:24 ]
#include <stdio.h>

void inputdata(int data[],int n);

int main(void){
int x[10];
inputdata(x,10);
return 0;
}

void inputdata(int data[],int n){//inputdata関数
int i;
for(i=0;i<n;i++){
printf("Input data>");
scanf("%d",&data[i]);
}
for(i=0;i<n;i++){
printf("data[%d]=%d",i,*data[i]);
}
}

C言語について質問です
配列x[0]〜x[9]のそれぞれに値を入れて表示するというinputdata関数を作ってみたいんですが
これ動きません。どのように関数を直せばよいのでしょうか?

608 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 20:19:42 ]
int *data[]



609 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 20:34:33 ]
printf("data[%d]=%d",i,*data[i]);

printf("data[%d]=%d",i,data[i]);

610 名前:デフォルトの名無しさん [2007/07/03(火) 20:55:02 ]
2^8は65,536でしょうか?

611 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 20:58:26 ]
それくらいぐぐれよ
www.google.co.jp/search?q=2%5E8

612 名前:デフォルトの名無しさん [2007/07/03(火) 21:09:46 ]
さんkyさう

613 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 21:15:15 ]
つーかプログラミング勉強してる奴が電卓の使い方も(その存在も?)和歌ランとは・・・

614 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 21:19:11 ]
小学生なんだろ。

615 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 21:47:58 ]
2^8 = 16^2 = 0xFF

616 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 21:52:29 ]
二次元配列で構造体を使って
その中身の計算に
違う二次元配列の中身を用いないといけないんだけど
すげーキレそう

617 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 21:57:59 ]
ゆとりは相変わらずキレやすいな。

618 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 22:03:50 ]
トイレに行くと血が・・・ orz



619 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 22:04:52 ]
>>618
今日あの日だろ

620 名前:デフォルトの名無しさん mailto:sage [2007/07/03(火) 22:14:14 ]
>>618
肛門様を大事に






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

前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