- 1 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 06:39:50 ]
- C言語の入門者向け解説スレです。
・C++言語はスレ違いです。 ・分からない事をなるべく詳しく書いて下さい。 ・ソースコードを晒すと答えやすくなるかもしれません。 ・質問者は最初にその質問をした時のレス番号を名前欄に書いて下さい。 前スレ C言語なら俺に聞け(入門篇) Part 17 pc11.2ch.net/test/read.cgi/tech/1185286631/ 教えて欲しいのではなく丸投げしたいならこちらへ C/C++の宿題を片付けます 94代目 pc11.2ch.net/test/read.cgi/tech/1185452895/
- 577 名前:デフォルトの名無しさん mailto:sage [2007/09/07(金) 23:41:55 ]
- >>575
> これでスタックフレームを何byte消費しているか理解しているか? たった、18,9Kじゃん。
- 578 名前:569 [2007/09/07(金) 23:47:17 ]
- >>576をちと言い換えたいんですが、
int getflg(char wd[]) と違いは何かありますか??
- 579 名前:デフォルトの名無しさん mailto:sage [2007/09/07(金) 23:52:06 ]
- >>578
int getflg(char wd[]); と int getflg(char wd); の違いが理解できない奴はCをする資格が無い VBかJavaScriptあたりで妥協しておくことをお勧めする
- 580 名前:デフォルトの名無しさん mailto:sage [2007/09/07(金) 23:54:25 ]
- 理解できないっていうか、こういう基本的なところをネットで訊きながら進めるのって、効率悪すぎだろ。
入門書でも買えばいいのに。
- 581 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 00:14:43 ]
- Cでは文字列変数というのはなくてバイト(char)の配列として扱っているんだよね
ほかの言語ではまずありえないことだけど
- 582 名前:569 [2007/09/08(土) 00:33:22 ]
- >>580
基礎的なHPをいろいろ探してみてきたが int getflg(char *wd); これだと、ポインタによる引渡しで int getflg(char wd[]); これだと、wdに文字列を直接代入する的なものですか?
- 583 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 00:33:43 ]
- haskellもそうじゃなかったっけ
- 584 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 00:34:39 ]
- >>582
いや、ややこしいことに int getflg(char *wd); と int getflg(char wd[]); は同じ
- 585 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 00:38:23 ]
- >>582
C FAQのポインタあたりを一通り読んでみるとか。 www.kouno.jp/home/c_faq/
- 586 名前:581 mailto:sage [2007/09/08(土) 00:38:56 ]
- >>582
ちがいます Cではchar wd[]とchar *wdはほぼ同じ扱いです
- 587 名前: mailto:sage [2007/09/08(土) 00:41:32 ]
- でも配列とポインタだと&かましたときの値が違うんじゃないの?
- 588 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 00:45:14 ]
- 関数の宣言で使用する場合は同じ(ポインタと解釈)。
- 589 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 01:04:12 ]
- >>586
ちがいます Cでは関数の引き数の宣言において、char wd[]とchar * wdは全く同じ扱いです。
- 590 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 01:10:48 ]
- char wd[10]
とか書くとまた変わって来るからややこしい。
- 591 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 01:45:54 ]
- int getflg(char *wd); も
int getflg(char wd[]); も int getflg(char wd[10]); も int getflg(char wd[42]); も一緒
- 592 名前:デフォルトの名無しさん [2007/09/08(土) 02:30:12 ]
- すみません、質問です。C言語でmallocによる動的な領域確保の勉強をしています。
char型の領域を動的に確保してそこにコマンドライン引数のargv[i]を格納していきます。 void main(int argc, char *argv[]){ int i; char *hikisu; for(i=0; i<argc; i++){ hikisu[i] = (char *)malloc(sizeof(char)); memset(hikisu[i], NULL, sizeof(char)); strcpy(hikisuu[i], argv[i]); } } これでコンパイルが通らないのですが、何が悪いのかよくわかりません。 ご教授お願いします。
- 593 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 02:38:44 ]
- >>592
動的確保以前のポインタの勉強をしなおせ。 -- // インクルードファイルを適切にインクルードしていない void main(int argc, char *argv[]){ // mainの戻り値型はintにするべき // 中括弧は別の行に書くのが一般的 int i; // 一文字変数はインクリメンタルサーチしにくいからお勧めしない char *hikisu; // ポインタ変数は、ポインタ一個しか保持できない。引き数を複数保持したいなら、これではダメ for(i=0; i<argc; i++){ hikisu[i] = (char *)malloc(sizeof(char)); // malloc()の引き数はバイト数。これでは1バイトしか確保できない memset(hikisu[i], NULL, sizeof(char)); // malloc()したエリアをmemset()で潰してしまうのはナンセンス(一部に妄信者はいるが) // つーか、引き数が無茶苦茶 strcpy(hikisuu[i], argv[i]); // これも引き数が間違っている } } -- まぁ、取り敢えずこの辺にしておいてやるかw
- 594 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 02:44:46 ]
- >>592
stdlib.hがincludeされてない。 strcpy(hikisuu[i], argv[i]); 「hikisuu」はどっから出てきた?(タイプミス?) この2つ直すととりあえずコンパイルは通るかもしれない。(コンパイラ次第) が、落ちる可能性が高いな。 ていうかコンパイルのエラーを書け。
- 595 名前:デフォルトの名無しさん mailto:age [2007/09/08(土) 21:00:46 ]
- Javaにはメソッドのコメントの書き方で、
/** @param @return */ のようなのが決まっていて、これでHTMLのドキュメントを自動作成できますが、 Cにはそのようなものはありますか?
- 596 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 21:03:28 ]
- つ[Doxygen]
- 597 名前:595 mailto:age [2007/09/08(土) 21:25:58 ]
- レスありがとうございます。
できるだけ標準的なものを使いたいのですが、そのDoxygenというのはよく使われていますか? もしJISやISOやその他の標準化団体の制定した書式があるようならば、教えて欲しいのですが。
- 598 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 21:28:38 ]
- 標準化はされてない
デファクトスタンダードには近いかも
- 599 名前:デフォルトの名無しさん [2007/09/08(土) 23:08:08 ]
- 戻り値で成功か失敗かの判定だけ必要なとき、
成功は0で、失敗は-1で返すのがいいんでしょうか? 古いCの関数はこれが多いですよね。 成功は1で失敗は0にすると、判定側でif(!func()){ printf("error"); } のような書き方ができるので、これの方が便利な気もするのですが、 どっちがいいんでしょうか。
- 600 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 23:16:04 ]
- >>599
古いCの関数っていうか、unixのシステムコールだろ。
- 601 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 23:24:16 ]
- >>599
俺は自分でSUCCESSとFAILUREをdefineして使うのが好き。 SUCCESSが1でも0でもif(func!=SUCCESS)と書く。 この辺は好みじゃね?
- 602 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 23:40:14 ]
- シンプルに0か0以外がいいよ。
いろいろ値が定義してあると、読むのに負担がかかる。 単純なTRUE,FALSEでも、0以外と0になっているかとか、定義が一箇所かとか気にする必要あるし。 いまやってる仕事なんて、RTN_OKとRTN_ERRだけかと思ってたら、RTN_NODATAとか返してたり返した無かったり するし。
- 603 名前:デフォルトの名無しさん [2007/09/08(土) 23:55:20 ]
- あるディレクトリにある、大量のファイル(ファイル名は***1.dat、***2.dat、***3.datと1000個ぐらい続く)
を順番に読み込みたいのですが、どのようにすれば良いのでしょうか? 通常のファイルを開く方法(fopen)では、指定ファイル名をしてforループで回して変更するとかいう事が出来ない みたいなので困っています。どなたかご教授よろしくお願い致します。
- 604 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 23:58:01 ]
- 普通に一個ずつ順番に読めばいいんじゃないの?
- 605 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 23:58:21 ]
- >>603
OSのAPIに頼ってディレクトリのファイル名一覧を作る。 で、順番にfopenか何かで開く。
- 606 名前:デフォルトの名無しさん [2007/09/08(土) 23:58:49 ]
- ファイルシステムを直接読めばいいのでは?
- 607 名前:デフォルトの名無しさん mailto:sage [2007/09/08(土) 23:59:52 ]
- ファイル名が連番になってるのならforループで舞わせばいいい。
- 608 名前:デフォルトの名無しさん [2007/09/09(日) 00:00:30 ]
- つ system
- 609 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 00:00:39 ]
- >>603
ファイル名が規則的なら、、ループで回して処理できるよ。
- 610 名前:デフォルトの名無しさん [2007/09/09(日) 00:10:34 ]
- age
- 611 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 00:31:10 ]
- ***1.dat、***2.dat、***3.dat てことは連番だな
- 612 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 00:42:52 ]
- int i;
FILE *fp; char filename[12]; for (i = 1; i <= 1000; i++) { sprintf(filename, "***%d.dat", i); fp = fopen(filename, "r"); 以下略
- 613 名前:603 [2007/09/09(日) 00:50:17 ]
- >>612様
どうもありがとうございます。 sprintfという関数を知りませんでした。 非常に助かりました。
- 614 名前:デフォルトの名無しさん [2007/09/09(日) 12:21:33 ]
- すみません 初心者です。
この最後のFor文は何をしているのですか? よろしくお願いします。 int wk1; char DateT[10+1]; char bufs[128]; DateT[0] = "2007/10/01" memset( bufs, 0x0, sizeof(bufs) ); memcpy( bufs, DateT+ 5, 2 ); wk1= atoi(bufs); wk1-= 1; for( i=6; i>=5; i--, wk1/=10 ) DateT[i]= (char)((wk1%10)+'0');
- 615 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 12:31:14 ]
- 10 月を 09 月に変えてるんじゃね?
- 616 名前:デフォルトの名無しさん [2007/09/09(日) 12:33:45 ]
- 月の値、01〜12を00〜11に置き換えている。
- 617 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 12:37:52 ]
- >614
とりあえずそのコード、コンパイル通らなくない? 質問するくらいだから自分で書いたコードじゃないんだろうけど、あんまり参考にしたくないコードだと思う。 で、for 文限定だと 短い答え:数値を文字列に変換している。 もうちょっと長い答え: wk1 % 10 で wk1 の一の位の数値を得る。 これに '0' ('0' の文字コード値を足すと 0 なら '0' に 1 なら '1' と数値→文字の変換が出来る。 wk1 /= 10 で十の位が一の位に移って繰り返し。
- 618 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 12:51:37 ]
- >>614
?? DataT[0] = "2007/10/01" そいつは、通らねえよ。 それにしても、俺の現場にあるソースに似てるwまさかww
- 619 名前:sage [2007/09/09(日) 13:47:36 ]
- >>615様
>>616様 >>617様 >>618様 どうもありがとうございました。助かりました。 私の知り合いが解析しているソースを 出来ないなりに私も手伝おうかと思って頭から調べているときに ひっかかった次第です。 自分はもう少しCの勉強が必要ですね。orz
- 620 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 13:50:39 ]
- 恥ずかしいんでsageます。
失礼しました。
- 621 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 20:40:55 ]
- 2chのスレッドの仕組みについても学んでください
sageで書き込んでもスレッドは下がりません
- 622 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 21:54:44 ]
- いまリストでキューを実現しようと考えてるのですが、うまくデータを入れることができません
どうすれば改善できるか見てもらえないでしょうか? www.dotup.org/ C言語ってコメント入れているファイルです
- 623 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 22:06:18 ]
- 普通、キューに入れるときに動的にメモリ確保するんでない?
- 624 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 22:08:41 ]
- >>622
根本的に改善する余地あり 改善案は次の通り(命名に付いては適当に変えたほうが良い) QUE *queue_init(void); void queue_terminate(QUE *que); int queue_enque(QUE *que, void *data); void *queue_deque(QUE *que); int queue_size(QUE *que);
- 625 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 22:12:52 ]
- キューのデータそのものと頭とケツの位置とかを保持する管理構造体を作って、それをQUE構造体とすべき
- 626 名前:622 mailto:sage [2007/09/09(日) 22:17:55 ]
- >>623
確かにそうですね。とりあえず今回はって事で書きました >>623 queue_terminateはどういう処理をしますか? >>625 そうします
- 627 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 22:21:08 ]
- >>624じゃないが、
QUE *queue_init(void); → QUE型のメモリ割り当て、初期化 void queue_terminate(QUE *que); → 保持しているキューデータのメモリ解放、QUE型をメモリ解放 だと思う。まぁC++のあれだよね^^
- 628 名前:622 mailto:sage [2007/09/09(日) 22:42:24 ]
- >>627
そういう事ですか、わかりました 根本的な改善はわかったんですが、今回のデータを入れることができないっていう事の 改善策はありませんか? また次も同じことになりかねないので・・・
- 629 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 22:57:07 ]
- >>626
いそいで作ってみた バグあるかも ttp://2sen.dip.jp:81/cgi-bin/upgun/up1/source/up8249.lzh
- 630 名前:デフォルトの名無しさん mailto:sage [2007/09/09(日) 22:57:11 ]
- 構造が悪いから分かりにくくなってるだけ
- 631 名前:624=629 mailto:sage [2007/09/09(日) 23:04:25 ]
- 引数チェックが甘かった orz
まあいっか
- 632 名前:622 mailto:sage [2007/09/09(日) 23:15:53 ]
- >>629
拝見しました。管理用とデータ用の構造体を作ったほうがいいことがよくわかりました 参考にさせてもらいます。ありがとうございます〜
- 633 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 00:00:07 ]
- >>632
>>629 の不完全型はデータを隠蔽するのに便利! オススメのテクニックだよ
- 634 名前:デフォルトの名無しさん [2007/09/10(月) 13:51:08 ]
- 西暦と月を入力すると,以下のようなカレンダーを出力するプログラムを作成せよ
閏年にも対応すること. 西暦年が4で割り切れる年は閏年 ただし、西暦年が100で割り切れる年は平年 ただし、西暦年が400で割り切れる年は閏年 指定された年,月の一日の曜日を求めると良い.曜日を求めるには,Zellerの公式を使う.年も月も整数型の変数を用い,日の部分は1に置き換えること. (年+年/4-年/100+年/400+(13*月+8)/5+日 )%7 1月と2月は前年の13月,14月として考える. この式の答えと曜日の関係は以下の通り. 0:日曜日,1:月曜日,2:火曜日....,6:土曜日 Sun Mon Tue Wed Thu Fri Sat 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 このようなプログラムを作りたいのですがちんぷんかんぷんでまったくできません。 よろしければ見本のようなものを作ってもらえないでしょうか。 お願いします。
- 635 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 13:54:01 ]
- 丸投げは宿題スレ
- 636 名前:デフォルトの名無しさん [2007/09/10(月) 14:01:37 ]
- すれ違い申し訳ありませんでした。
- 637 名前:デフォルトの名無しさん [2007/09/10(月) 14:04:46 ]
- Cで構造体を初期化するとき {0}を代入するのと、memsetで0をセットすることの違いはなんでしょうか?
typedef struct tagAAA { int a; int b; int c; } AAA, * PAAA; AAA aaa1 = {0}; AAA aaa2; memset(&aaa2, 0, sizeof(AAA)); おしえてください。
- 638 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 14:27:28 ]
- 浮動小数点型やポインタ型のビット表現がゼロとは限らない
- 639 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 14:38:39 ]
- >>638
memsetでもそれは同じではないの? 両方、構造体のサイズ分、0 でクリアされるとおもってるんだけど。
- 640 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 14:43:38 ]
- >>637
memsetで0をセットは百害あって一利なし。使わないほうがよい。 構造体を初期化したいときには、各々の構造体メンバー変数に対し、 決められた初期変数を代入すること。 memsetが唯一有効なのは、メモリーをバイナリーエディッターで除くとき。 反論↓↓↓
- 641 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 14:45:29 ]
- >>639
doubleの0x00000000は0.0と保障されているわけではない。 ということでしょ。
- 642 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 14:46:49 ]
- えーと↑↑↑
エディッターのあたりがよくわからない
- 643 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 14:50:06 ]
- 初期化でBYTEレベルでALL 0 にしたい場合は、
= {0} での初期化と、 memset での初期化の違いはあるの? @ AAA aaa1 = {0}; A AAA aaa2; memset(&aaa2, 0, sizeof(AAA)); は同じことをしているのかということです。
- 644 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 15:17:06 ]
- 構造体は知らないけど、配列の場合はコンパイルすると同じコードになるって前にみかけた気がする。
- 645 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 15:28:18 ]
- >>643
コンパイラによっては、{0}の方が、より最適化される可能性が高い。
- 646 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 15:29:45 ]
- >643
@ graceful A rude
- 647 名前:デフォルトの名無しさん [2007/09/10(月) 15:58:29 ]
- 指定の行の削除方法が分かりません
例えば下記のようなファイルがあり あいう あああ いいい ううう これを「いいい」だけ削除して下記のようにしたいのですが、1行だけ削除するようなやり方がわかりません あいう あああ ううう やりかたをご教授いただけないでしょうか
- 648 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 15:59:05 ]
- サンプルとかみても memset のほうがおおい。
AAA aaa1 = {0}; とかで構造体を初期化しているのってほとんどみないような。
- 649 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 16:01:45 ]
- >>648
なんで、構造体を初期化する必要があるの? 構造体メンバーを初期化する必要はあると思うが、構造体全体の初期化はあまり意味がないだろう。
- 650 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 16:03:13 ]
- そもそも、初期値が0とは限らない。
- 651 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 16:04:28 ]
- windows api つかうときってmemsetで初期化することあるでしょ。
CRITICALSECTIONとか、RECTとか。いちいちメンバごとに初期値いれるソースとかみたことないよ。 いったん初期化してから個別に値いれることはあるけど。
- 652 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 16:11:33 ]
- @ AAA aaa1 = {0};
A AAA aaa1; memset(&aaa1, 0, sizeof(AAA)); @=A FA?
- 653 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 16:18:14 ]
- ={0} は浮動小数点やポインタも正しく 0.0 や NULL に初期化される。
memset で全ビットを 0 にする方法では、処理系によっては浮動小数点やポインタが 0.0 や NULL にならない場合がある。 @≠A
- 654 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 16:45:34 ]
- >>653
ありがとう。すっきりしました。
- 655 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 17:37:39 ]
- >>647
改行コードで区切って、消す行の後を違う領域に分けた後、消す行のところに繋げる
- 656 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 20:07:43 ]
- memsetで初期化のクセを覚えてしまうと、
C++のクラスのオブジェクトに対してもそれをやりそう。
- 657 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 20:45:13 ]
- コンストラクタがまさかのmemset呼び?
- 658 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 20:49:28 ]
- >>657
うちの連中ならやりそうだw ところで、>>637のは AAAA aaa1 = {}; //{0}の0省略 はできないの?C++の本に乗ってたんだけど、Cでも試したら出来てそうなんだけど。
- 659 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 21:05:36 ]
- >>658
エラー E2264 式が必要といわれた @BCC5.5
- 660 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 21:06:25 ]
- >>658
C++ならできた。CL.EXE
- 661 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 21:09:58 ]
- >>658
ANSI C的には文法違反。 {}の中には少なくとも一つの式がいる。
- 662 名前:658 mailto:sage [2007/09/10(月) 22:42:45 ]
- >>659-661 なるほど。情報サンクス。
gccではc89,c99モードにしてやっても出来るみたいなんだけど、 c99はまだ完全なサポートではないし、ことさら制限する様なことはしないのかも。 jiscのサイトから拾ったC言語の文書では、省略可を表すopt記号が無かったからやはり省略不可みたい。 参考)ttp://www.jisc.go.jp/app/pager?id=123813
- 663 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 22:49:09 ]
- Cを無料でダウンロード出来るトコなんてないですかそうですか
やっぱり電気屋とかで買うんですかね?
- 664 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 22:50:54 ]
- てめぇ〜〜〜ら、一生に一度の俺の質問に答えてくれ!
どうしてC言語の勉強を始めたの?
- 665 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 22:52:24 ]
- 日本語を無料でダウンロード出来るトコなんてないですかそうですか
やっぱり日本とかで買うんですかね?
- 666 名前:663 mailto:sage [2007/09/10(月) 23:11:01 ]
- >>665
楽しいか?
- 667 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 23:14:07 ]
- >>664
遊ぶのに理由がいるのかい?
- 668 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 23:17:54 ]
- >>667
遊びというのは個人的な理由。ではなぜ C言語を選んだ かの理由は???
- 669 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 23:19:06 ]
- >>667
君、そういうことを言ってしまうと、自分にとって遊びだからという理由で なぜその遊びを選んだかの理由は関係ないじゃ〜〜んって無責任な人間になってしまうよ? なぜなら、殺人を遊びに選んだら、なぜ殺人をしたんですか?という質問に対して 君は常に「遊びだから」という身勝手な言い訳をし続けることになるから。
- 670 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 23:19:58 ]
- 身勝手かどうかは主観に依存するよな。
- 671 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 23:30:07 ]
- >>670
殺人を遊びという理由は身勝手。なんで殺人をしてしまったのか? という理由が述べられていない。ただの愉快犯なら情状酌量の余地なし。 すぐさま死刑で良いでしょうw
- 672 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 23:31:01 ]
- >>670
要するにお前は理由もなくC言語をやっていたんだ。まぁあれだろ 通っていた学校でやらされた程度で、実は面白くないと?w
- 673 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 23:31:47 ]
- 同意。身勝手かどうかを判断する客観的な主体は存在し得ない。
深読みしてみると質問の趣旨は、なぜ数あるプログラミング言語の中から Cを選んだのか?ってことなんかな。つか複数使える人のほうが多いと思うがね。
- 674 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 23:34:14 ]
- >>664
単位取得に必要だったからやった 今も後悔はしていない
- 675 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 23:36:05 ]
- まぁ、普通に答えると始めたきっかけは高校でやらされたからに他ならない。
- 676 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 23:38:04 ]
- 何も知らないころよく聞く言語名がCだったから、かなぁ
- 677 名前:デフォルトの名無しさん mailto:sage [2007/09/10(月) 23:39:48 ]
- >>663
環境書かないと分からんだろが! サンプルソースが欲しいのか コンパイラが欲しいのか 何が欲しいのかもよく分からん フリー コンパイラ www.google.co.jp/
|

|