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
734 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 15:47:33 ] 実験を一人でやれない奴は発明するな
735 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 15:52:50 ] 日本に航空機製造をさせない某国のような
736 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 16:17:07 ] 再発明と再開発・再生産とは違う。 発明するのが無駄ってことだろ。
737 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 16:19:56 ] 孔明の罠??
738 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 16:45:53 ] やらない言い訳に使うなってことでもあるな。 ありもしないライブラリを再発明になるといけないので探してます、とかな。
739 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 17:24:10 ] >>737 巧妙なトリック
740 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 17:39:11 ] 光明の罠
741 名前:デフォルトの名無しさん [2009/10/25(日) 18:13:11 ] あなたに自分の好きなことをする自由な時間を取り戻す20の方法 gigazine.net/index.php?/news/comments/20080802_find_free_time/ 10.「それは受けられません」と言うことを学びなさい 12.最も大きなタスクを一番最初に処理しなさい 13.人に任せる 14.気を散らすあらゆるものを視界から取り除きなさい 15.インターネットから切断する 16.外部委託する
742 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 18:50:31 ] >>737 げぇ!
743 名前:デフォルトの名無しさん mailto:sage [2009/10/25(日) 19:55:57 ] 1. その本を閉じる 2. 2chviewer をアンインストールする
744 名前:デフォルトの名無しさん [2009/10/26(月) 02:48:27 ] 方向キー押すと1づつ大きくなるカウンタってどうやって作りますか? 押している間じゃないです お願いします
745 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 03:03:15 ] 処理系依存
746 名前:toya mailto:age [2009/10/26(月) 06:15:16 ] >>726 準拠する規格は『JISX3010:2003 プログラム言語C』で 「www.jisc.go.jp/ 」→「JIS検索」→ 「JIS規格番号からJISを検索」で「X3010」と入力し 「一覧表示」→「JISX3010」→「規格の閲覧」で閲覧できます
747 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 06:27:28 ] c99かよ
748 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 11:04:50 ] int func(){ for(;;){ } return 0; } こういうスタイルって、紙の本で行数が間延びしないためのものだろ。 実機での記述でこのスタイルにしてる奴って、それを理解してないんじゃないのか?
749 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 11:14:43 ] 昔の画面全体で25行しか無い時も有効だったかもな。
750 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 11:18:30 ] FDD全盛のころは改行コードすらもったいなかったんだよ
751 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 11:53:35 ] >>748 ディスプレイで見たときにも間延びするとかっこわるい。
752 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 12:03:07 ] 詰まってる方がかっこわるいだろ
753 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 12:34:43 ] int foo(int n, int m) { int i, j, k, something; for ( i = 0; i < n; ++i ) if ( i != m ) { (void)something; for ( j = 0; j < n; ++j ) for ( k = 0; k < n; ++k ) { (void)something; if ( k != m ) (void)something; { int a, b; (void)(something = a + b); (void)something; } } } else (void)something; (void)something; return 0; } 関数化しろとかインデントが2カラムと言うのは無しで、こういうソースはできれば見たくない
754 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 12:36:40 ] >>753 見なきゃいい エディタ起動時に必ず整形ツールを通すようにすればいいだけだ
755 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 12:38:01 ] この形に美しさを感じられない奴は コンピュータプログラミングには向いていないよ。
756 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 12:43:13 ] >>753 別に悪くないと思うが。 じゃあどんなスタイルが良いんだ? 定番で悪いが Linux流プログラム書法 ttp://www.linux.or.jp/JF/JFdocs/kernel-docs-2.2/CodingStyle.html
757 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 12:51:07 ] プログラムの途中でコアを吐く?のだけど、そんなエラー見たことないし、 調べても何か特定の原因があるってわけでもなさそうなのでさっぱり意味がわかりません。 一つ一つの処理ごとにprintfを挟んでみたところ以下のようでした。 #define _XOPEN_SOURCE #include <stdio.h> #include <string.h> #include <unistd.h> main(void) { int i, j, len; unsigned char tripkey[11] = ""; unsigned char salt[3] = ""; unsigned char trip_f[256] = ""; unsigned char trip[11] = ""; printf("トリップキーを入力:"); scanf("%u", &tripkey); printf("トリップキー入力"); ←これが表示されずにコアを吐く
758 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 12:54:03 ] >>757 > scanf("%u", &tripkey); scanfの使い方調べろよ
759 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 12:54:36 ] >>753 Java見たいで嫌だ書き直す int foo(int n, int m){ int i, j, k, something; for(i = 0; i < n; ++i){ if(i != m){ (void)something; for(j = 0; j < n; ++j){ for(k = 0; k < n; ++k){ (void)something; if(k != m) (void)something; { int a, b; (void)(something = a + b); (void)something; } } } }else (void)something; } (void)something; return 0; } 漏れが許せる隙はこれが限界だ
760 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 12:54:48 ] 制御にくっつく単文でもブレースで括ってくれと言いたかったんだ ブレースだけの行があるのが嫌な人もいるんだろうけどね もう慣れているからどちらでもいいんだけど、修正時のエンバグ対策に{}付けていた体質を改めようかな、はっはっはぁ
761 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 13:00:43 ] >>753 インデントついてるからまだましだけど その書き方でインデントめちゃくちゃなやつもいた if(k != m) (void)something; { int a, b; (void)(something = a + b); (void)something; } とかもう
762 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 13:10:11 ] 関数は int foo(int n, int m) { } って書く方が好みだ。 関数名を検索するときに、/^foo\(/でジャンプできるからな。 '{'を独立した行に置くのは、K&R第1版の頃の foo(n, m) int n; int m; { } からの慣れかな。
763 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 13:13:37 ] >>753 他人が読むことを想定していないコードだな
764 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 13:14:21 ] >>763 具体的にどこがそうなのか挙げてみれ
765 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 13:16:07 ] スタイル議論してるスレがあるはず。
766 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 13:16:56 ] 関数は /*! * @brief fuga * * hoge * * @return piyo */ int foo( int n, /*!< [in] bar */ int m /*!< [in] baz */ ) { } って書く方が好みだ。 ただの似非Doxygenスタイルだけど。
767 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 13:17:47 ] >>764 わかってるくせに
768 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 13:18:59 ] >>759 Java みたいなのはお前の方だw
769 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 13:20:59 ] int foo(int n, int m){ int i, j, k, something; for(i=0; i<n; ++i){ if(i != m){ (void)something; for(j = 0; j < n; ++j){ for(k = 0; k < n; ++k){ (void)something; if(k != m) (void)something;{ int a, b; (void)(something = a + b); (void)something; } } } } else (void)something; } (void)something; return 0; }
770 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 13:23:52 ] >>767 >>753 は、非難されるほどひどいスタイルには見えん。 ひどい点があるなら、教えてくれないか
771 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 13:26:58 ] >>770 全角スペース
772 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 13:28:11 ] スタイルじゃなくて、これが紛らわしいってこと if ( k != m ) (void)something; { int a, b; (void)(something = a + b); (void)something; }
773 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 13:29:38 ] if ( k != m ){ (void)something; } { int a, b; (void)(something = a + b); (void)something; }
774 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 13:31:01 ] #define BEGIN do{ #define END }while(0) if ( k != m ){ (void)something; } BEGIN int a, b; (void)(something = a + b); (void)something; END;
775 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 13:32:17 ] >>771 htmlでインデントを表現するために、わざと全角空白をつかってるんじゃないか?
776 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 13:36:39 ] >>775 使え 受け取った方がコピペでコンパイル出来るようになる
777 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 13:54:13 ] >>775 使え 消えてたorz
778 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 14:02:01 ] &を忘れたのねw
779 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 14:10:58 ] >>776 一部の専ブラでは書き込まれた&nbspをコピペすると化ける。
780 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 14:12:27 ] >>758 なんだかよくわからなかったのでgetsを使ってみたけれどそれでもダメでした
781 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 14:13:57 ] なんだかよくわからないものをなんだかよくわからないまま使っても なんだかよくわからない結果にしかならないと思うんだ
782 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 14:23:26 ] >>780 scanfのフォーマット指定子とそれに対応する引数を考えてみて。 つかあまりにも適当に指定してるようにしか見えないから、 正解をズバリ書くのもはばかられるわ
783 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 14:47:18 ] >>782 %sと%cを試してみたけど変わりませんでした
784 名前:どちらが正統? mailto:sage [2009/10/26(月) 14:58:45 ] char s[6]="INTEL"; sは長さ6の文字列へのポインタで、その値は変更不能な文字列 (リテラル)"INTEL"を指すポインタ値 なのか sは長さ3の文字列へのポインタで、その値は変更可能な文字配列 を指すポインタ値で、変更可能な文字列配列はあらかじめ コンパイラによって変更不能な文字列"INTEL"を複製したもの が設定されている。
785 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 15:03:19 ] >>783 へぇ
786 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 15:19:05 ] >>784 どちらも間違い。 sはポインタではなく配列
787 名前:どちらが正統? mailto:sage [2009/10/26(月) 16:20:53 ] char s[7]="foobar"; sは長さ7の変更不能な文字配列である"foobar"の名前である のか sは長さ7の変更可能な文字配列で(コンパイラにより) 変更不能な文字配列(リテラル)"foobar"の複写で初期化された ものの名前である。
788 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 16:29:32 ] PHPをかなりやってきて、 プログラミングの基本とか だいたい理解したと思うので そろそろCをはじめようかと 思うのですが、Cをはじめる 前に、これを先にPHPで勉強 しておいたほうがいい、 っていうの、何かありますか? 一応、PHPで、 print文で画面に文字とかを出力、表示する ifでの分岐 switch文での分岐 for、while、foreachでのループ ユーザー定義関数 関数への値渡し、引数渡し includeで他のファイルを読み込んで使う 配列、連想配列(ハッシュ) ファイルへの読み書き OOP基礎 ---------------------------------------------- ↑こんくらいはマスターしました。 Cに移行する前に、何かもっと 勉強しておいたほうがいい知識はありますか?
789 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 16:30:35 ] 別に真っ白な状態からCを学んでも良いと思うけど。
790 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 16:34:11 ] >>788 PHP→Cは結構苦労するってなんかの本に書いてあったな 逆にC→PHPは3日で覚えられるって事も
791 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 16:37:48 ] PHPで、 セッションやら、 クッキーやら、 サニタイズやら、 BASIC認証やら、 やらされたので、Cだと そういうのないので、 かえって勉強しやすいかなー と思ってます。
792 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 16:40:33 ] >>787 後者。 でも「変更不能な文字配列(リテラル)"foobar"の複写で」がなんか違和感あり。 char s[6] = "INTEL"; は、 char s[6] = {'I', 'N', 'T', 'E', 'L', 0}; と全く同じよ。
793 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 16:51:19 ] リテラルの複写とは全く違うから後者も間違いだろw
794 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 16:54:29 ] >>783 引数もちゃんと考えようぜ。 例を見て&つけてるんだろうけど、何で&がついてるかわかるか? 配列の[]無しはどういうものかも。
795 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 17:06:55 ] >>791 C-CGI作るならもちろんその辺もやらないとだめだよ
796 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 17:09:37 ] CでCGIなんか作るわけねーだろ。あほか? USBで外部デバイスを接続して パソコンでプログラム組んで ROMライターで焼いて、、、 ってやるんだよ。 お掃除ロボットのルンバの プログラム組んだりとか ロボット作ったりとかしてーんだよ。 空気よめよwww
797 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 17:44:30 ] Cのコンパイラーは どっからダウンロードするんにゃ〜〜 おしえれ〜〜
798 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 17:45:57 ] 2chのread.cgiはcだそうだ
799 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 17:55:47 ] >798 どっかのFlashで見たなそういえば、 zlibとか使って圧縮して通信容量減らして危機を救ったとかなんとか 十分慎重に組めばセキュアなCGIも作れるわけだが CでCGI作るというウェブサイトや書籍にろくなものが無い気がしないでもない
800 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 18:05:38 ] 文字解析以外はCもperlのようなものも一緒でしょ というか、2chのC化自体はあまり効果が無かったような
801 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 18:10:22 ] 2chブラウザのおかげね。
802 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 18:59:07 ] 今はむしろ2chブラウザのせいで通信量が増えてるわけだが
803 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 19:26:03 ] どうして?
804 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 19:39:48 ] >>803 タブをたくさん開きーのそいつらをいっせいにリロードしーの あまつさえ自動でリロードしーの
805 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 19:44:08 ] 多くの専ブラはそれの対応したはずだが
806 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 19:57:13 ] 対応といっても更新間隔に制限を設けただけだからな 100タブ単位で開いてると馬鹿にならない
807 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 20:20:00 ] それって専ブラの起因した問題じゃないと思うが
808 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 20:24:17 ] というか量増えちゃだめなの?PCの能力あがったんだからたくさんの情報をロードできるから仕方ないじゃん。
809 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 20:25:09 ] 人間の能力はあがってないだろ
810 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 20:27:51 ] 読もうとしてないスレもリロードしたりするじゃん。 なのにそのスレ読むときにまたリロードしたりして。 専ブラに起因した問題じゃないってのはタブ型ブラウザのことでも指してるのかなぁ
811 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 20:29:46 ] あれはリロードじゃなくてDATの量を見てるだけだし読むときは差分だけだし なにか勘違いしてない?
812 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 20:31:23 ] ttp://f30.aaa.livedoor.jp/~kokodake/unix.html 昔話
813 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 20:31:28 ] なら転送量は増えないの?
814 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 20:40:01 ] いま仕様みてきたけど、次回dat読み込むときは HTTPリクエストヘッダに Range: bytes= で差分を指定できるみたいだね。(この場合は gzip 圧縮はされない) ただ、リクエストしまくるとバーボン規制やボボン規制を食らう可能性もある。
815 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 20:40:24 ] 説明するのは面倒なので ttp://monazilla.org/ の資料でも読んでください
816 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 21:42:38 ] kansai2channeler.hp.infoseek.co.jp/cgi-bin/joyful/img/10020.txt 実行して出力したときに、 countを1000にするとうまく表示されるのですが、 countを100にしたときに、どうして壁を突き破るのか教えてください。 また、100にしても壁を突き破らない方法を教えてください。
817 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 22:01:03 ] >>792 char s[]="書き換えてはならない文字列"; s[2]='¥0'; この場合コンパイルは通る?動作は保証される?
818 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 22:13:19 ] >>817 大丈夫 保証される
819 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 22:39:18 ] >>817 解釈ルール上からは大丈夫な筈であるが char *s="書き換え禁止文字列"; とかと混同使用されている現実から安全対策の為、 強く警告を出して事実上禁止している処理系が 多いのでやらないほうが良い。
820 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 22:45:52 ] >>819 そんなのがあるとは… ちなみに処理系の名前を教えて欲しいです
821 名前:デフォルトの名無しさん [2009/10/26(月) 22:57:47 ] >>819 混同してるのも安全対策が必要なのもてめーだけだ 何を禁止or警告されているかくらい読めぼけ
822 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 23:06:02 ] VC++2008で見てみたけど、警告レベル最高でもべつに警告はでなかった。
823 名前:デフォルトの名無しさん [2009/10/26(月) 23:10:19 ] >>822 >>817 の時点ではおkだが、>>819 が痛いんだよ
824 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 23:16:37 ] リテラルに関しては特別である件について int array[]={0,1,2,3,4,5,}; の要素がLValueになれない処理系はモグリだが char array[]="012345"; の要素がLvalueになれない処理系がモグリだと 決めつけられないとオモ char array[6]="012345"; でLValue禁止はモグリだが
825 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 23:18:10 ] >>824 そういう処理系がある可能性もあるから 名前が知りたいだけですよ
826 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 23:20:33 ] GCCやらVCみたいなメジャーなやつで警告でないなら、べつに気にしない。
827 名前:デフォルトの名無しさん [2009/10/26(月) 23:20:49 ] >>824 > 決めつけられないとオモ 何が「特別」なのかどう頑張っても足掻いても完璧にわかってないな
828 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 23:32:44 ] char s[]="12345" がconst char s[6]={'1','2','3','4','5',0}と 等価だって保証されてる?
829 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 23:35:06 ] >>828 constはつかないんじゃないの?
830 名前:解説 mailto:sage [2009/10/26(月) 23:49:59 ] >>824 とか リテラル表現を見つけるとCコンパイラは機械的にそれを void *型のconst ポインタ値に置換するというウワサ (void*)の(char*)のキャスト省略は認容されているからprintfとかに 与えても文法上合法だし、その処理系に付属しているライブラリ関数 ならば期待した動作をする。 問題はvoid*が指しているアドレスに実際に何が書かれているかに ついての規定が不可能になってきていること。 エンコーディング(フォントの種類とかサイズランク (微妙に書体が変わるんで)まで規定できる新しいコード体系とか) によっては連続したメモリ領域にマップしないほうが良い場合もあり 得るし実際しないだろうし。 そいった状況になったらchar s[]="うんたらかんたら"; がchar s[]={ 文字配列要素定義列 }; という解釈をしてもらえるという保証が無くなる可能性がある
831 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 23:52:37 ] Cの規格上ではつかないよ。 char s[]="12345"; は左辺のために新たに確保された領域に 右辺の値がコピーされるから、つける必要もないし。
832 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 23:56:35 ] >>830 そういうヘボい実装をしている処理系を知っているなら教えて欲しい ○○向け○○コンパイラとか
833 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 23:57:07 ] あ、ちなみに処理系よってはANSIやJIS規格に従わないコンパイラなんていくらでもある。 だから、>>819 や>>824 はその処理系の名前を具体的にあげてくれればいい。 それだけで話は終了する。これは一般論じゃないから。
834 名前:デフォルトの名無しさん mailto:sage [2009/10/26(月) 23:59:02 ] 特定の文字エンコーディングに依存する実装のほうがヘボい だろ。Cの現状的には