- 1 名前:名無し募集中。。。 [05/01/15 02:18:37]
- UNIXおよびUNIX clone環境一般のプログラミングに関する質問スレッド
前スレ Part4 pc5.2ch.net/test/read.cgi/tech/1095843584/ Part3 pc5.2ch.net/test/read.cgi/tech/1085930894/ Part2 pc5.2ch.net/test/read.cgi/tech/1055110889/ Part1 pc2.2ch.net/tech/kako/992/992057422.html Part3のミラー makimo.to/2ch/pc5_tech/1085/1085930894.html Part2のミラー makimo.to/2ch/pc5_tech/1055/1055110889.html 関連スレ Cygwin使っている人いますか? その13 (UNIX板) pc5.2ch.net/test/read.cgi/unix/1099157755/ Cygwin使っている人いますか? 3 (Windows板) pc5.2ch.net/test/read.cgi/win/1090131123/ 関連板 pc5.2ch.net/unix/ pc5.2ch.net/linux/
- 652 名前:デフォルトの名無しさん mailto:sage [2005/03/21(月) 12:35:46 ]
- >>650
> dirname および basename は、静的に割り当てられたメモリへのポインタを > 返すことがあり、これらの領域は後の関数呼び出しで上書きされるかもしれない。 …の部分に対する疑問? それなら、 char * path = "foo/bar"; char * path_dup = strdup(path_dup); char * path_dir = dirname(path_dup); して、 free(path_dup); すればいいだけだと思うが。 path_dup = dirname(path_dup); みたいにすると、path_dup が strdup で確保したメモリじゃない可能性があるから、 free() するべきかどうか分からなくなるがね。
- 653 名前:デフォルトの名無しさん mailto:sage [2005/03/21(月) 13:07:56 ]
- >>651
gethostbyname(3)なんかは、「*で返すのはstatic dataだべ」って書いてある。 www.opengroup.org/onlinepubs/007908799/xns/endhostent.html のAPPLICATION USAGE
- 654 名前:デフォルトの名無しさん [2005/03/21(月) 13:09:13 ]
- >>652
> char * path = "foo/bar"; > char * path_dup = strdup(path_dup); > > char * path_dir = dirname(path_dup); ここでpath_dirの指す先がpath_dupの中かもしれないので > free(path_dup); ここでfree()してしまうとpath_dirが使えなくなりませんか? 何かすごくおかしいことを言っているのだろうか・・・
- 655 名前:デフォルトの名無しさん mailto:sage [2005/03/21(月) 13:12:18 ]
- >>654
おまえ読解力ゼロ
- 656 名前:デフォルトの名無しさん mailto:sage [2005/03/21(月) 13:26:42 ]
- >>654
付け加えると、path_dirは必要ならすぐに自前の領域にコピーしておくこと。 ∵basename()を再度呼び出すと上書きされるから。
- 657 名前:デフォルトの名無しさん mailto:sage [2005/03/21(月) 14:02:44 ]
- >>652
> char * path_dup = strdup(path_dup); < char * path_dup = strdup(dup); 通りすがりに、取り合えず訂正しておくわ
- 658 名前:デフォルトの名無しさん mailto:sage [2005/03/21(月) 14:03:51 ]
- >>657
m9(^Д^)プギャー
- 659 名前:デフォルトの名無しさん mailto:sage [2005/03/21(月) 14:05:50 ]
- >>657
< char * path_dup = strdup(path); 間違えたわ…ハズ
- 660 名前:デフォルトの名無しさん mailto:sage [2005/03/21(月) 18:31:51 ]
- >>652
「静的に割り当てられたメモリ」ってのはライブラリがstaticに持ってるバッファだと 言ってるように読めるんだが(バッファじゃないがerrnoみたいな)。 であるとすれば、free()するとおかしなことになるよな。 >>651が言ってるのはそういうことじゃないの?
- 661 名前:デフォルトの名無しさん mailto:sage [2005/03/21(月) 18:34:51 ]
- strdup1つでここまで引きずるとは、さすがUNIX
- 662 名前:デフォルトの名無しさん mailto:sage [2005/03/21(月) 18:42:03 ]
- >>660
だから basename の返り値を free しなきゃいいわけで、 basename に与えたポインタを free するのは問題ないだろ?
- 663 名前:デフォルトの名無しさん mailto:sage [2005/03/21(月) 18:58:49 ]
- ここは小学生の溜まり場かよ。
- 664 名前:デフォルトの名無しさん mailto:sage [2005/03/23(水) 02:23:26 ]
- >>660が正しい。POSIX仕様であっても、basename()は
引数で与えられた領域を上書きすることはない。だから、 上書きされることを気にしてstrdup()する必要もない。 どうもglibc-2.2.1までのPOSIXバージョンは、POSIXの 解釈を間違えていて上書きしてたことがあったようだが。 これはglibc特有のバグで、glibcを使ってなければ関係 ない。>>648の和訳のバグセクションは、そのあたりが 誤訳っぽいな。glibc-2.2.1より後でも問題があるように 読めてしまう。英語マニュアルを見れば明らかなんだが。
- 665 名前:デフォルトの名無しさん mailto:sage [2005/03/23(水) 05:35:24 ]
- >>664
POSIXはどうかしらないけど、FreeBSD5.3だと char * basename(const char *path); って定義になってるから、引数のバッファは変更されることはなさそうね。 ついでに、返り値は「a pointer to internal static storage space」を返すとなってる。 >>652にあてはめるならこんな感じか。 char * path = "foo/bar"; char * path_dir = strdup(dirname(path)); /* ここでpath_dirを利用 */ free(path_dir);
- 666 名前:デフォルトの名無しさん mailto:sage [2005/03/25(金) 14:31:04 ]
- 666 ∈(・◎・)∋ 666
- 667 名前:デフォルトの名無しさん mailto:sage [2005/03/26(土) 14:48:43 ]
- 要するに、basename(3)使うときに、strdupもfreeも要らないわけだ
- 668 名前:デフォルトの名無しさん mailto:sage [2005/03/26(土) 19:16:44 ]
- (゚Д゚)ハァ?
- 669 名前:デフォルトの名無しさん mailto:sage [2005/03/27(日) 02:54:15 ]
- >>667
うん。ただし、basename(3)を複数回呼んで、その返り値を 後でまとめて使うような場合はmalloc(3)が必要となる。
- 670 名前:デフォルトの名無しさん mailto:sage [2005/03/27(日) 11:34:39 ]
- 別に固定バッファでもいいわけだが。
- 671 名前:デフォルトの名無しさん [2005/03/29(火) 17:59:02 ]
- 一つのプログラムファイルからしか使わない構造体があったとして
それをヘッダファイルではなく、foo.cの中で宣言定義するのってのは、 スタイル的に問題ないのでしょうか?
- 672 名前:デフォルトの名無しさん mailto:sage [2005/03/29(火) 18:00:46 ]
- ここで質問する事が問題
- 673 名前:デフォルトの名無しさん mailto:sage [2005/03/29(火) 18:36:19 ]
- >>672
BSDのソースではあまりみかけないのに、Linuxでは沢山あるので
- 674 名前:デフォルトの名無しさん mailto:sage [2005/03/29(火) 20:13:11 ID:]
- 漏れは、他のファイルに見せる必要の無いものは、
実際に見えないようにすべき、と考えます。 unixとは全然関係ないけどね。
- 675 名前:デフォルトの名無しさん mailto:sage [2005/03/29(火) 20:23:30 ]
- させたいことと出来ることを一致させるのは大切ですね
- 676 名前:デフォルトの名無しさん mailto:sage [2005/03/30(水) 16:22:54 ]
- >>674
俺も ノシ
- 677 名前:デフォルトの名無しさん [2005/03/31(木) 15:18:49 ]
- suse9.1上でcを使って、ファイルサイズの取得方法を教えてください
- 678 名前:デフォルトの名無しさん mailto:sage [2005/03/31(木) 15:21:08 ]
- >>677
stat()
- 679 名前:デフォルトの名無しさん mailto:sage [2005/04/02(土) 23:47:35 ]
- hcreate()ってプログラムの中でひとつのハッシュ表しか使えないんですか?
だとしてこれは役に立つことがあるんでしょうか?
- 680 名前:デフォルトの名無しさん mailto:sage [2005/04/03(日) 01:03:52 ]
- そりゃあるでしょ。
複数使いたければ、hcreate_r()使いなよ。
- 681 名前:デフォルトの名無しさん mailto:sage [2005/04/05(火) 01:13:50 ]
- hcreate() なんてシラナンダ。自作してた…。
hcreate_r() は GNU 拡張か。
- 682 名前:デフォルトの名無しさん mailto:sage [2005/04/05(火) 01:50:35 ]
- >>681
プラットフォームによってはバグってたりするから使わない方がいいよ 追加できるエントリ数にこっそり上限があったり
- 683 名前:デフォルトの名無しさん [2005/04/05(火) 10:51:56 ]
- program_a が program_b を呼び出すようにしています.
gdb で program_b の動作をデバッグするには どうすればいいのでしょう?
- 684 名前:デフォルトの名無しさん [2005/04/05(火) 11:15:04 ]
- >>683
program_b の最初の辺りに sleep なり, 入力待ちなりを入れといて, ps | grep program_b して gdb <pid-of-program_b> する. どっちかってゆうと, ウニ板のくだ質ネタだが...
- 685 名前:デフォルトの名無しさん mailto:sage [2005/04/05(火) 12:09:45 ]
- >>683
"program_b arg1 arg2" ↓ "gdbserver localhost:20000 program_b arg1 arg2" $ gdb gdb> target remote localhost:20000 gdb> break xxx gdb> continue
- 686 名前:デフォルトの名無しさん mailto:sage [2005/04/05(火) 21:37:03 ]
- Windowsみたいにcch埋め込みして自動でデバッガ起動とかできないの?
- 687 名前:デフォルトの名無しさん mailto:sage [2005/04/05(火) 21:47:46 ]
- core吐いたら、そこからデバッグを再開出来る気もする
- 688 名前:デフォルトの名無しさん mailto:sage [2005/04/06(水) 00:02:56 ]
- >>686
こんな感じでいいのか? 以下を実行すると、自身を対象にgdbのウィンドウが立ち上がる。 char pidbuf[20]; snprintf(pidbuf, sizeof pidbuf, "%d", getpid()); if (fork() == 0) execlp("xterm", "xterm", "-e", "gdb", argv[0], pidbuf, NULL); sleep(5); /* wait for gdb */ かなーりいい加減な実装だけど。
- 689 名前:デフォルトの名無しさん [2005/04/06(水) 10:45:22 ]
- Unixプログラミングを詳しく
網羅した質の高いサイトを この俺に教えてください
- 690 名前:デフォルトの名無しさん mailto:sage [2005/04/06(水) 11:05:39 ]
- つ ttp://www.adl.nii.ac.jp/~moro/unix-programmer/faq-j_toc.html
- 691 名前:デフォルトの名無しさん [2005/04/06(水) 15:24:06 ]
- CSVをパースするライブラリくれ
書くのめんどい つーか、どう考えても世の中に大量にあるだろそんな汎用ライブラリ どうしてgoogleで引っかからないんだこれ だれかの陰謀か? 宇宙人?
- 692 名前:デフォルトの名無しさん mailto:sage [2005/04/06(水) 15:26:47 ]
- >>691
perl >>>>>>>>>>>>>>>>>>>> ruby search.cpan.org/search?query=csv&mode=all
- 693 名前:デフォルトの名無しさん mailto:sage [2005/04/06(水) 16:41:41 ]
- > perl >>>>>>>>>>>>>>>>>>>> ruby
> search.cpan.org/search?query=csv&mode=all まぬけですね
- 694 名前:デフォルトの名無しさん mailto:sage [2005/04/06(水) 17:24:05 ]
- > > perl >>>>>>>>>>>>>>>>>>>> ruby
> > search.cpan.org/search?query=csv&mode=all > > まぬけですね まぬけですね
- 695 名前:デフォルトの名無しさん mailto:sage [2005/04/06(水) 17:36:22 ]
- Cでくれ
- 696 名前:デフォルトの名無しさん mailto:sage [2005/04/06(水) 17:52:29 ]
- 一発動かすだけみたいなやつなら perl で十分だろうし、
そうでないなら... > 691 名前:デフォルトの名無しさん[] 投稿日:2005/04/06(水) 15:24:06 > CSVをパースするライブラリくれ > 695 名前:デフォルトの名無しさん[sage] 投稿日:2005/04/06(水) 17:36:22 > Cでくれ この間になんぼでも書けるだろう。
- 697 名前:デフォルトの名無しさん mailto:sage [2005/04/06(水) 18:28:29 ]
- C-- (C Decre)
- 698 名前:デフォルトの名無しさん mailto:sage [2005/04/06(水) 21:04:08 ]
- >>691
何故みつからないかというと、みんなが納得する"CSV"という 名前のフォーマットは存在しないからです 標準化されていない悲しさよ
- 699 名前:デフォルトの名無しさん mailto:sage [2005/04/06(水) 21:24:12 ]
- そんなことなかろう。
google で "comma separated value" parse library を検索すると見つかるぞ。 単に探し方が悪いだけだと見た。
- 700 名前:デフォルトの名無しさん [2005/04/06(水) 23:00:19 ]
- CSVって、
・フィールド,で区切られている。 ・#から改行までは無視。 ・,#をデータに入れたい時は、"tell your #, please!"とクォート。 ・レコードは改行で区切られている。 が典型的かな。 >>698 色々と問題が起きそうなのは、 ・改行コード。 ・ISO-2022-JPの様な左面の文字集合切り替えのある場合。 かな。
- 701 名前:デフォルトの名無しさん mailto:sage [2005/04/06(水) 23:08:41 ]
- >>700
> ・,#をデータに入れたい時は、"tell your #, please!"とクォート。 マジかよ そんなエスケープ初めて聞いた
- 702 名前:デフォルトの名無しさん mailto:sage [2005/04/07(木) 09:11:15 ]
- CSV
・1行で1レコード。 ・コンマ「,」をデリミタとして値を区切る。 ・値にコンマが含まれているときにはダブルクォート「”」で括る。 ・値にダブルクォートが含まれているときは「””」と2重にする。 多少の方言はあるけど、だいたいこんなんが基本。 というのが漏れの理解。
- 703 名前:デフォルトの名無しさん mailto:sage [2005/04/07(木) 09:41:22 ]
- 値に「"」が含まれていたら「''」でクォートとか、「\」でエスケープとか、
文字列フィールドに数字しかないときは「'」が先行するとか、 微妙にいやらしい方言が多いんだよね。
- 704 名前:デフォルトの名無しさん mailto:sage [2005/04/07(木) 10:12:33 ]
- だからライブラリが無いw
- 705 名前:デフォルトの名無しさん mailto:sage [2005/04/07(木) 12:35:08 ]
- ""の中に改行が含まれるケースもある
1,"abc","def",ghi,1111 2,"abc","This is a quoted string.",def,234 3,"abc def","hoghoge",aaa,234 みたいな
- 706 名前:デフォルトの名無しさん mailto:sage [2005/04/07(木) 14:22:07 ]
- >>705
lex 辺りでアナライザーはかせりゃ, 悩むほどのもんじゃねぇだろ? あとは, yylex 呼ぶループ書くだけ.
- 707 名前:デフォルトの名無しさん mailto:sage [2005/04/07(木) 14:30:47 ]
- この程度、lex 使わずに手書きしても全然たいしたことない。
この程度が書けないような香具師は、Cを使うのはやめて、 Java とか Perl とか Python とか Ruby とか VB に転向すべき。
- 708 名前:デフォルトの名無しさん mailto:sage [2005/04/07(木) 14:32:23 ]
- Perl なら
ttp://www.din.or.jp/~ohzaki/perl.htm#CSV2Values PHP なら ttp://jp.php.net/manual/ja/function.fgetcsv.php があるけどね
- 709 名前:デフォルトの名無しさん [2005/04/07(木) 15:00:15 ]
- メールサーバでReceived:の項にJSTなどとタイムゾーンが文字で入りますが、あれは取得できる物なのでしょうか?
それとも、メールサーバのプログラムの中にそのようなテーブルがあるのでしょうか?
- 710 名前:デフォルトの名無しさん mailto:sage [2005/04/07(木) 15:02:40 ]
- >>707
> この程度、lex 使わずに手書きしても全然たいしたことない。 ゴリゴリ手書きして遅いルーチンを書くのはいとも簡単だけど、 (f)lexと同等かそれ以上に高速なものにしようとすると結構大変かも。
- 711 名前:デフォルトの名無しさん mailto:sage [2005/04/07(木) 15:04:59 ]
- >>709
echo $TZ
- 712 名前:デフォルトの名無しさん mailto:sage [2005/04/07(木) 15:06:37 ]
- echo OTZ
- 713 名前:デフォルトの名無しさん mailto:sage [2005/04/07(木) 15:36:01 ]
- >>710
トークンの種類が非常に多く、DFAのメリットが効いてくる ような場合なら、確かに (f)lexの方が速くなるが、この例 だと共通プレフィックスになるような文字列は全くないので、 まともなプログラマが書けば、どう転んでも手書きの方が速い。 もちろん、まともじゃないプログラマなら話は全然別。
- 714 名前:デフォルトの名無しさん mailto:sage [2005/04/07(木) 16:01:55 ]
- >>713
へっ?字句解析でDFAの表引きが効率向上に役立つ割合なんてほんの僅かです が。字句解析器生成が手書きよりもうれしいのは、まず第一にバッファリング (と先読み管理)をそれなりにきちんとやってくれるからですけど。もちろんき ちんと最適化したマニュアルの解析器の方がバッファリングも速いけど、それ はそれで「どう転んでも」速くなるほど自明じゃない。
- 715 名前:デフォルトの名無しさん mailto:sage [2005/04/07(木) 16:12:37 ]
- うーん、ほとんどの言語は、そもそもそんな高度な
バッファリングなんていらないでしょ? 一文字バッ ファリング、すなわち ungetc() で十分なことが 多いと思うけど。そりゃたまには、そうじゃない 変態文法もあるけどさあ。 今回の CSV も ungetc() で十分なので、バッファ リングで遅くなる要素は、まったくないと思うけど?
- 716 名前:デフォルトの名無しさん mailto:sage [2005/04/07(木) 18:08:46 ]
- おまいらは読込速度が問題になる程
大量の CSV を読もうとしてるのか…ッ! こないだいたけどね。 「いやー Excel で開けないくらいでっかくなっちゃいましたよハッハッハ」 とかいうから、行数カウントしてみたら 1200万行。
- 717 名前:デフォルトの名無しさん mailto:sage [2005/04/07(木) 18:54:46 ]
- そこまで多くなったらDB使えと小一時間(ry
- 718 名前:デフォルトの名無しさん mailto:sage [2005/04/07(木) 20:36:51 ]
- CSVやめてS式にしようぜ
- 719 名前:デフォルトの名無しさん mailto:sage [2005/04/07(木) 21:00:27 ]
- 字句解析器がバッファリングをするって何の話だよ??
- 720 名前:デフォルトの名無しさん mailto:sage [2005/04/07(木) 21:21:46 ]
- UNIXプログラミングに関係ないはなししはよそでおねがいします。
- 721 名前:デフォルトの名無しさん mailto:sage [2005/04/07(木) 21:53:30 ]
- XMLに決まってんジャンww
- 722 名前:デフォルトの名無しさん mailto:sage [2005/04/08(金) 00:09:41 ]
- LALRのLAじゃないの?>バッファリング
- 723 名前:デフォルトの名無しさん mailto:sage [2005/04/08(金) 00:40:39 ]
- LALR使ってるのはlexじゃなくてyaccでそ。
- 724 名前:デフォルトの名無しさん mailto:sage [2005/04/08(金) 01:39:56 ]
- Unix でプログラミングなら, あるもの使えば?
車輪の再発明の必要もないし... ってな, つもりで >>706 を書いたんだが, 妙なことになってるしorz >>720 > UNIXプログラミングに関係ないはなししはよそでおねがいします。 おもいっきり, UNIXプログラミングの*はなしし*だと思うが... つか, UNIXプログラミングの*はなしし*をすれば, この程度は普通 だと思うぞ.
- 725 名前:デフォルトの名無しさん mailto:sage [2005/04/08(金) 03:10:14 ]
- >>720 はCSVがUNIXに関係ないと思ってる香具師
- 726 名前:デフォルトの名無しさん mailto:sage [2005/04/08(金) 03:38:49 ]
- >>709
ftp://elsie.nci.nih.gov/pub/tzdata2005h.tar.gz
- 727 名前:デフォルトの名無しさん mailto:sage [2005/04/08(金) 03:39:31 ]
- >>709
david.tribble.com/text/c0xtimezone.html
- 728 名前:デフォルトの名無しさん mailto:sage [2005/04/08(金) 09:32:37 ]
- >>725
関係無いだろ
- 729 名前:デフォルトの名無しさん mailto:sage [2005/04/08(金) 11:46:01 ]
- yacc/lexがなきゃCSV も読めないのか、ここの連中は(笑)
火炎放射器でタバコに火を付けるってのはこういうのを言うのかね。
- 730 名前:691 [2005/04/08(金) 13:46:41 ]
- そういうのを自分で作るのが面倒だという話なんだ
誰かが作ったものがそこらに転がってるなら 火炎放射器でもなんでも使うよ。
- 731 名前:デフォルトの名無しさん mailto:sage [2005/04/08(金) 14:42:40 ]
- cut(1) ですむところを awk や perl でやったりもするけど別にええやん
- 732 名前:デフォルトの名無しさん mailto:sage [2005/04/08(金) 14:50:36 ]
- awkは兎も角、perlは…
まぁいいか。 >>730 火炎放射器使うくらいなら私は自分で火を熾すよ。
- 733 名前:デフォルトの名無しさん mailto:sage [2005/04/08(金) 14:58:36 ]
- >>732
> 火炎放射器使うくらいなら私は自分で火を熾すよ。 野蛮だなw
- 734 名前:デフォルトの名無しさん mailto:sage [2005/04/08(金) 15:14:19 ]
- 火炎放射器を使う方がむしろ野蛮だと思いまつ。
つうか、これぐらい単純な処理だと、lex使う方 がむしろ面倒だと思う。
- 735 名前:デフォルトの名無しさん mailto:sage [2005/04/08(金) 15:50:40 ]
- 簡潔な方法が正解かと
- 736 名前:デフォルトの名無しさん mailto:sage [2005/04/08(金) 16:11:18 ]
- simple is beauty が UNIX
- 737 名前:デフォルトの名無しさん mailto:sage [2005/04/08(金) 18:39:06 ]
- なんだよお前らそんなに車輪作りたいのか?
おれはやだぜ
- 738 名前:デフォルトの名無しさん mailto:sage [2005/04/08(金) 18:50:53 ]
- 任意個の整数の合計を求めるライブラリくれ
書くのめんどい つーか、どう考えても世の中に大量にあるだろそんな汎用ライブラリ どうしてgoogleで引っかからないんだこれ だれかの陰謀か? 宇宙人?
- 739 名前:デフォルトの名無しさん mailto:sage [2005/04/08(金) 18:55:42 ]
- そんなのライブラるまでもないからだろ
- 740 名前:部外者でけどね mailto:sage [2005/04/08(金) 19:24:44 ]
- こんなのは setjump / longjump のいい練習になるかな。遊びでつくてみよ。
- 741 名前:デフォルトの名無しさん mailto:sage [2005/04/08(金) 19:32:59 ]
- >>740
整数の合計を求めるのにsetjump/longjump? >>739, >>738 std::accumulate()
- 742 名前:デフォルトの名無しさん mailto:sage [2005/04/08(金) 19:39:11 ]
- Cでくれ
- 743 名前:デフォルトの名無しさん mailto:sage [2005/04/08(金) 20:18:25 ]
- >>738=740はただの初心者
- 744 名前:デフォルトの名無しさん mailto:sage [2005/04/08(金) 20:23:22 ]
- #define goukei(arr) { int i; extern int g_goukei; for(i=0, g_goukei; i<sizeof(arr)/sizeof(arr[0]); i++) g_goukei+=arr[i]; }
- 745 名前:デフォルトの名無しさん mailto:sage [2005/04/08(金) 20:27:16 ]
- UNIXでまともな言語ってJavaぐらいしかない
- 746 名前:デフォルトの名無しさん mailto:sage [2005/04/08(金) 23:34:30 ]
- はつみみです
- 747 名前:デフォルトの名無しさん mailto:sage [2005/04/10(日) 18:06:28 ]
- >>737
自分の回りに車輪が見当たらなければ作るしかねーだろが。
- 748 名前:エラー処理ブッチご容赦 mailto:sage [2005/04/10(日) 23:57:43 ]
- >>740
#include <setjmp.h> #include <stdio.h> void acc1(int n, int x, jmp_buf env) { if (n == 0) { longjmp(env, x); } else { acc1(n - 1, n + x, env); } } int acc(int n) { jmp_buf env; int x; if (n == 0) { return 0;} else if (x = setjmp(env)) { return x; } else { acc1(n, 0, env); } } int main(int argc, char *argv[]) { printf("%d\n", acc(atoi(argv[1]))); }
- 749 名前:デフォルトの名無しさん mailto:sage [2005/04/11(月) 08:01:46 ]
- 誰か、>748が何をしたいのか教えてくれ。
- 750 名前:デフォルトの名無しさん mailto:sage [2005/04/11(月) 08:30:25 ]
- >>749
#include <stdio.h> #include <stdlib.h> int main(int argc, char ** argv) { printf("%d\n", atoi(argv[1]) * (atoi(argv[1]) + 1) / 2); return 0; }
- 751 名前:デフォルトの名無しさん mailto:sage [2005/04/11(月) 09:27:35 ]
- やあおまいら。C言語の勉強ははかどってるかね?
- 752 名前:デフォルトの名無しさん mailto:sage [2005/04/11(月) 09:39:22 ]
- >>750
それのどこが「任意個の整数の合計」なんだか。 つーか、>740=>748が阿呆なだけか。
|

|