C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/
C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf
C99
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf
http://kikakurui.com/x3/X3010-2003-01.html
C FAQ 日本語訳
http://www.kouno.jp/home/c_faq/
JPCERT C コーディングスタンダード
https://www.jpcert.or.jp/sc-rules/
-
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
※前スレ
C言語なら俺に聞け 152
https://mevius.5ch.net/test/read.cgi/tech/1560763630/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
C言語なら俺に聞け 153
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 5fba-LL4R)
2019/08/17(土) 23:02:42.00ID:tN5mSQYg0639デフォルトの名無しさん (ワッチョイ 97e8-Rp4x)
2019/12/22(日) 16:48:43.49ID:qJChSMJU0 キーコンビネーション間違えて投稿してしまった。
>>638 のようなコードは完全にスパゲッティなのでやめましょう。
>>638 のようなコードは完全にスパゲッティなのでやめましょう。
640デフォルトの名無しさん (ワッチョイ 97e8-Rp4x)
2019/12/22(日) 16:51:13.34ID:qJChSMJU0 do{
continue;
}while();
while型goto教の教義のコード。
continue;
}while();
while型goto教の教義のコード。
641デフォルトの名無しさん (スップ Sdbf-FIDi)
2019/12/22(日) 16:57:49.51ID:BbprGibXd 制御構造のパターンとして何型のものが望ましくないのか、お前ら本当に聞いたこともないの?
642デフォルトの名無しさん (ワッチョイ 97e8-Rp4x)
2019/12/22(日) 16:59:01.86ID:qJChSMJU0 安易な無限ループで悲惨なオチに出会う人減ってるかいな?
643デフォルトの名無しさん (ワッチョイ bf8c-vyMa)
2019/12/22(日) 20:25:06.85ID:o2lyx4Qb0 局所でGOTOは有りだろう。
644デフォルトの名無しさん (ワッチョイ bf8c-vyMa)
2019/12/22(日) 21:00:22.05ID:o2lyx4Qb0 全部論理式で書けば制御構造なぞ要らない。
645デフォルトの名無しさん (ワッチョイ ff70-r9Jq)
2019/12/22(日) 21:06:07.06ID:Gm1dEDWR0 アホばっかりと諦めるのはまだ早いと思う
短気を起こさずにもうしばらく待ってみる
短気を起こさずにもうしばらく待ってみる
646デフォルトの名無しさん (ワッチョイ 9fad-prDO)
2019/12/22(日) 23:20:31.02ID:lZWETk/y0647デフォルトの名無しさん (ワッチョイ d71d-1ZZR)
2019/12/23(月) 00:35:00.92ID:5fq76TYI0 bool型の変数をprintf関数内でプレースホルダ%dを使って表示すると、
1や0になってしまうのですが、trueやfalseの形式で表示できないでしょうか?
1や0になってしまうのですが、trueやfalseの形式で表示できないでしょうか?
648蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 5701-upP4)
2019/12/23(月) 00:38:21.07ID:EBKfcFlm0 printf("%s", (b ? "true" : "false"));
649デフォルトの名無しさん (ワッチョイ d7f9-+Tiu)
2019/12/23(月) 00:38:26.58ID:+NV+2UGP0 %sでboolVar ? "true": "false"とでもすればいい
Cにboolはないよ
Cにboolはないよ
650デフォルトの名無しさん (ワッチョイ ff70-r9Jq)
2019/12/23(月) 00:45:41.74ID:Losi+wwQ0651デフォルトの名無しさん (ワッチョイ ff63-prDO)
2019/12/23(月) 00:52:11.44ID:hXczb3NL0 C99を (標準の)C と呼んでも差し支えないのだろうか
652デフォルトの名無しさん (ワッチョイ 9f79-+Tiu)
2019/12/23(月) 00:56:54.61ID:+xS4b3+d0 最新の規格が標準だぞ
C99が定められたのは既に20年前
太古の企画と言っても差し支えないレベル
C99が定められたのは既に20年前
太古の企画と言っても差し支えないレベル
653デフォルトの名無しさん (ワッチョイ 9773-x674)
2019/12/23(月) 01:06:18.68ID:z7fGiGkq0 >>652
お前が勝手に決めるな
お前が勝手に決めるな
654647 (ワッチョイ d71d-1ZZR)
2019/12/23(月) 02:34:41.48ID:5fq76TYI0 答えてくれた方ありがとうございました
面倒なんですね
面倒なんですね
655デフォルトの名無しさん (ワッチョイ ff70-r9Jq)
2019/12/23(月) 07:25:48.16ID:Losi+wwQ0 >>653
決めているのはISOで
652が勝手に決めているわけではない
現行規格すなわち標準はISO/IEC9899:2018、通称C17だ
https://www.iso.org/standard/74528.html
決めているのはISOで
652が勝手に決めているわけではない
現行規格すなわち標準はISO/IEC9899:2018、通称C17だ
https://www.iso.org/standard/74528.html
656デフォルトの名無しさん (ワッチョイ ff70-r9Jq)
2019/12/23(月) 07:26:35.49ID:Losi+wwQ0 旧規格は現行規格の発効をもって廃止となる
657デフォルトの名無しさん (ワッチョイ 9773-x674)
2019/12/23(月) 07:48:32.88ID:z7fGiGkq0 https://ja.m.wikipedia.org/wiki/ANSI_C
ANSI C、ISO C、または標準Cとは、米国規格協会(ANSI) および国際標準化機構(ISO) が発行したC言語の標準の総称である。歴史的にこれらの名前は特に、オリジナルであり、最もサポートされているバージョンであるC89およびC90のことを指す。
ANSI C、ISO C、または標準Cとは、米国規格協会(ANSI) および国際標準化機構(ISO) が発行したC言語の標準の総称である。歴史的にこれらの名前は特に、オリジナルであり、最もサポートされているバージョンであるC89およびC90のことを指す。
C99 later の C++ 非互換部分は、どうでもいいとおもいますね
C++ にあわせて欲しかったのですが、独自色を強めてしまったのは疑問手です
C++ にあわせて欲しかったのですが、独自色を強めてしまったのは疑問手です
659デフォルトの名無しさん (ワッチョイ ff70-r9Jq)
2019/12/23(月) 08:11:06.15ID:Losi+wwQ0 現実問題でもC89オンリーのコンパイラはかなり減ってきてるだろうが
Cライクな非標準全開のコンパイラなら今でもあるが
Cライクな非標準全開のコンパイラなら今でもあるが
660デフォルトの名無しさん (ワッチョイ 9773-x674)
2019/12/23(月) 08:18:44.36ID:z7fGiGkq0 普及率を根拠にするなら
>>652を取り消してからにしてもらおうか
>>652を取り消してからにしてもらおうか
661デフォルトの名無しさん (ワッチョイ 977b-w6Xz)
2019/12/23(月) 08:29:28.17ID:hJXMwG4B0 >>647 の質問への直接の答えじゃないけど、
bool(実体は_Bool)型って汎整数拡張の対象だっけ?
拡張されるならprintfの中では引数がbool値だったか整数値だったか、
もう区別がつかないんじゃないか。
区別できなきゃ 0/1 で表示すべきか false/true で表示すべきかも
決められないと思うんだけど。
bool(実体は_Bool)型って汎整数拡張の対象だっけ?
拡張されるならprintfの中では引数がbool値だったか整数値だったか、
もう区別がつかないんじゃないか。
区別できなきゃ 0/1 で表示すべきか false/true で表示すべきかも
決められないと思うんだけど。
662デフォルトの名無しさん (ワッチョイ ff70-r9Jq)
2019/12/23(月) 08:32:48.54ID:Losi+wwQ0663661 (ワッチョイ 977b-w6Xz)
2019/12/23(月) 08:40:36.25ID:hJXMwG4B0 可変個引数の整数値が char でも short でも int になるのは
「汎整数拡張」とは違う動作、別の用語だったかも知れん。
言語に詳しい人の指摘をお願いしたい。
「汎整数拡張」とは違う動作、別の用語だったかも知れん。
言語に詳しい人の指摘をお願いしたい。
664デフォルトの名無しさん (ワッチョイ ff70-r9Jq)
2019/12/23(月) 08:50:19.46ID:Losi+wwQ0 promotion(拡張)
665デフォルトの名無しさん (ワッチョイ ff63-prDO)
2019/12/23(月) 13:42:09.95ID:hXczb3NL0 https://ja.wikipedia.org/wiki/C99
>GCC、Clang、Intel C++ Compiler 等はC99の新機能の大半をサポートしている。
>ただし、GCCは、ほとんど準拠しているが、規格への100%完全準拠は果たしてい
>ない。GCC 4.x までのデフォルトは C89 に GNU 拡張を加えた -std=gnu89、
>Clang のデフォルトは C99 に GNU 拡張を加えた -std=gnu99 である。GCC 5.0
>から C11 に GNU 拡張を加えた -std=gnu11 がデフォルトになる。
>Microsoft Visual C++ は 2013 から C99 の大半を実装した。ただし、tgmath.h
>や snprintf() などが未実装。
>Open Watcom C compiler は標準のうち最もよく使われている部分を実装している。
>かつては、ドキュメント化されていないコマンドラインスイッチを指定しないと
>有効化されなかった。2010年現在の最新版である 1.9 では -za99 オプションを
>付けることで有効化される旨、明記されている。
>Sun Studioは、サン・マイクロシステムズによればC99を完全にサポートしている。
主なコンパイラは大体対応している様だが、まだ完全ではないみたいだ。
GCCだと独自拡張もあるのでややこしそう。すでにC11に向かっているし。
>GCC、Clang、Intel C++ Compiler 等はC99の新機能の大半をサポートしている。
>ただし、GCCは、ほとんど準拠しているが、規格への100%完全準拠は果たしてい
>ない。GCC 4.x までのデフォルトは C89 に GNU 拡張を加えた -std=gnu89、
>Clang のデフォルトは C99 に GNU 拡張を加えた -std=gnu99 である。GCC 5.0
>から C11 に GNU 拡張を加えた -std=gnu11 がデフォルトになる。
>Microsoft Visual C++ は 2013 から C99 の大半を実装した。ただし、tgmath.h
>や snprintf() などが未実装。
>Open Watcom C compiler は標準のうち最もよく使われている部分を実装している。
>かつては、ドキュメント化されていないコマンドラインスイッチを指定しないと
>有効化されなかった。2010年現在の最新版である 1.9 では -za99 オプションを
>付けることで有効化される旨、明記されている。
>Sun Studioは、サン・マイクロシステムズによればC99を完全にサポートしている。
主なコンパイラは大体対応している様だが、まだ完全ではないみたいだ。
GCCだと独自拡張もあるのでややこしそう。すでにC11に向かっているし。
666デフォルトの名無しさん (スップ Sd3f-x674)
2019/12/23(月) 14:59:43.87ID:rvIcRY54d 今時Cを使うのって
そういうメジャー所じゃなくて
小規模マイコン用の独自コンパイラがメインでは?
そうでもない?
そういうメジャー所じゃなくて
小規模マイコン用の独自コンパイラがメインでは?
そうでもない?
667デフォルトの名無しさん (ワッチョイ ff70-r9Jq)
2019/12/23(月) 15:35:31.75ID:Losi+wwQ0 メジャーなところで旗色が悪くなったからって
マイナーなところへ逃げ込む気か
相手すんの馬鹿らしくなるぜ
マイナーなところへ逃げ込む気か
相手すんの馬鹿らしくなるぜ
668デフォルトの名無しさん (ワッチョイ 17da-isjD)
2019/12/23(月) 15:43:24.53ID:c0dHMUCB0 規格を捏ねくりまわして喜んでいるのは言語マニアだけだしな
実際の現場は殆どが独自コンパイラ
実際の現場は殆どが独自コンパイラ
669デフォルトの名無しさん (ワッチョイ ff70-r9Jq)
2019/12/23(月) 15:50:57.95ID:Losi+wwQ0 捏ねくりまわすって、工業製品を使って工業製品を産み出すのに
規格票を確認するのは工業人の当たり前の日常だろうがよ
規格票を確認するのは工業人の当たり前の日常だろうがよ
670デフォルトの名無しさん (ワッチョイ 17da-isjD)
2019/12/23(月) 15:54:46.80ID:c0dHMUCB0 頭でっかちの老害
671デフォルトの名無しさん (ワッチョイ ff70-r9Jq)
2019/12/23(月) 16:01:57.23ID:Losi+wwQ0 筋の通らんガキの駄々こねそのものだな
672デフォルトの名無しさん (ワッチョイ 17da-isjD)
2019/12/23(月) 16:12:34.32ID:c0dHMUCB0 必要なのは規格よりもコンパイラ製造元のマニュアルだ
規格は実際の動作を保証してはくれない
規格は実際の動作を保証してはくれない
673デフォルトの名無しさん (ワッチョイ ff70-r9Jq)
2019/12/23(月) 16:29:00.49ID:Losi+wwQ0 コンパイラのマニュアルも必要だが
規格「よりも」という変なバイアスは無用
「と」だろうが
規格「よりも」という変なバイアスは無用
「と」だろうが
674デフォルトの名無しさん (スップ Sd3f-x674)
2019/12/23(月) 18:06:56.36ID:rvIcRY54d テンプレに入れた方がいいな
特に断りがない限りはC89/C90が前提だって
特に断りがない限りはC89/C90が前提だって
675デフォルトの名無しさん (ワッチョイ ff70-r9Jq)
2019/12/23(月) 18:19:44.32ID:Losi+wwQ0 却下
それこそ老害以外の何ものでもない
それこそ老害以外の何ものでもない
676デフォルトの名無しさん (ワッチョイ 9773-x674)
2019/12/23(月) 18:23:01.96ID:z7fGiGkq0 100歩譲ってC99
C17やC20限定の話題は他にスレを立ててそっちでやって
C17やC20限定の話題は他にスレを立ててそっちでやって
677デフォルトの名無しさん (ワッチョイ ff63-prDO)
2019/12/23(月) 18:23:59.39ID:hXczb3NL0 老害でない人たちは、C99スレでも立ててそこに移動で
678デフォルトの名無しさん (ワッチョイ 9769-mhYo)
2019/12/23(月) 18:37:06.44ID:CGp0hW9r0 bool 型があったとしても、
printf の引数(... で受ける) に渡すタイミングで暗黙に数値化しちゃうんじゃないかな?
C++での引数型により別のものが呼ばれる機構は期待できない部分
printf の引数(... で受ける) に渡すタイミングで暗黙に数値化しちゃうんじゃないかな?
C++での引数型により別のものが呼ばれる機構は期待できない部分
>>674
それは名案ですね、正直言って C89=K&R2 で必要かつ十分ですし、C99 になって追加されたことといえば C++ と均整のとれない糞仕様が多くて役に立つものは一つか二つか…
それは名案ですね、正直言って C89=K&R2 で必要かつ十分ですし、C99 になって追加されたことといえば C++ と均整のとれない糞仕様が多くて役に立つものは一つか二つか…
>>663
たしかに規格ISO/IEC9899:1999 のどこにあるか?というと、ちょっとみつからないですね
default argument promotion とはいうみたいですが
これは char, short -> int
float -> double
だったかと
たしかに規格ISO/IEC9899:1999 のどこにあるか?というと、ちょっとみつからないですね
default argument promotion とはいうみたいですが
これは char, short -> int
float -> double
だったかと
682デフォルトの名無しさん (ブーイモ MMfb-gy34)
2019/12/23(月) 21:14:46.40ID:X1aPCWn8M シニア専用C言語スレでも作れば
>>682
ジュニア専用お子ちゃまC言語は他所でおねがいします
ジュニア専用お子ちゃまC言語は他所でおねがいします
684デフォルトの名無しさん (ワッチョイ ff70-r9Jq)
2019/12/23(月) 21:33:00.29ID:Losi+wwQ0 gotoの何がいけないか説明できるやつ、ここまでゼロ
685デフォルトの名無しさん (ワッチョイ ff12-gy34)
2019/12/23(月) 21:52:10.47ID:YCEz+SRJ0 年取ると新しいことが覚えられないのは理解するよ。
だからって30年前の規格で縛るとかどんだけおつむ弱いんだよ
だからって30年前の規格で縛るとかどんだけおつむ弱いんだよ
686デフォルトの名無しさん (ワッチョイ 9f01-fd2f)
2019/12/23(月) 21:54:45.06ID:8K/Z1PN30 まだgoto文とか言ってるのか
認知症かよw
認知症かよw
687デフォルトの名無しさん (ワッチョイ ff63-prDO)
2019/12/23(月) 23:05:23.85ID:hXczb3NL0 30年経ってもまだ対応完了しないコンパイラがある件
688デフォルトの名無しさん (ワッチョイ ff12-gy34)
2019/12/23(月) 23:28:22.45ID:YCEz+SRJ0 そらあるだろうさ。だからスレも底辺コンパイラに合わせろとか頭腐ってるんじゃねーの?
689デフォルトの名無しさん (ワッチョイ ff63-prDO)
2019/12/23(月) 23:42:25.45ID:hXczb3NL0 上級国民用のC言語スレを建てて,そちらに移った方が良いのでは?w
690デフォルトの名無しさん (ワッチョイ 9fad-YiuP)
2019/12/24(火) 01:55:10.60ID:DYebt3JD0 >>681
(若さは)重要な要素だ
(若さは)重要な要素だ
>>685
C++ でコンパイルできない C なんて何の役に立つのか疑問だ、といっているのですよ
C++ でコンパイルできない C なんて何の役に立つのか疑問だ、といっているのですよ
>>690
若さ若さとひけらかすな!
若さ若さとひけらかすな!
693デフォルトの名無しさん (ワッチョイ b7b2-r9Jq)
2019/12/24(火) 07:01:44.07ID:Uve8u0PJ0694デフォルトの名無しさん (ワッチョイ b7b2-r9Jq)
2019/12/24(火) 07:03:32.05ID:Uve8u0PJ0 積集合なんかいいとこ取りの逆だ
695デフォルトの名無しさん (ワッチョイ 9773-x674)
2019/12/24(火) 07:04:40.49ID:cUFUrp770 ほんそれ
C++を覚えてさっさとこのスレからいなくなってくれ
ガキんちょは
C++を覚えてさっさとこのスレからいなくなってくれ
ガキんちょは
696デフォルトの名無しさん (ブーイモ MMfb-gy34)
2019/12/24(火) 08:24:53.44ID:DYV/RLXmM >>691
公開ヘッダだけ互換で書いとけばいいだろマヌケ
公開ヘッダだけ互換で書いとけばいいだろマヌケ
697デフォルトの名無しさん (ワッチョイ 9f79-+Tiu)
2019/12/24(火) 13:32:50.89ID:nbxHNYps0 C言語環境には色々と障害が多いが
その最たるものの一つが老害の多さだとこのスレを見てもよく分かる
その最たるものの一つが老害の多さだとこのスレを見てもよく分かる
698デフォルトの名無しさん (ワッチョイ b7b2-r9Jq)
2019/12/24(火) 13:37:43.29ID:Uve8u0PJ0 そもそもC89とC17の違いがそんなに問題になるか?
C89さえ分かっていればC17を差分で憶えるのは大した話じゃない
不勉強なやつが自己弁護のために騒いでるだけだろうが
C89さえ分かっていればC17を差分で憶えるのは大した話じゃない
不勉強なやつが自己弁護のために騒いでるだけだろうが
699デフォルトの名無しさん (ワッチョイ ff63-prDO)
2019/12/24(火) 14:54:32.55ID:4UlhXCkA0 勉強家はC++に移られたらどうか
貴重な人生を無駄にしないで済む
貴重な人生を無駄にしないで済む
700デフォルトの名無しさん (ワッチョイ b7b2-r9Jq)
2019/12/24(火) 16:09:31.88ID:Uve8u0PJ0 もちC++も使ってるよ
C使いが他の言語をやってないという仮定がそもそもおかしいぜ
C使いが他の言語をやってないという仮定がそもそもおかしいぜ
701デフォルトの名無しさん (ワッチョイ ff63-prDO)
2019/12/24(火) 16:17:11.27ID:4UlhXCkA0 勉強家はこのスレに入らないから,さっさと移動したらどうか?
粗大ゴミしかいないスレなんだから,こんな所に居続ける必要ないだろ
お前自身が粗大ゴミだと自覚しているなら仕方がないが
粗大ゴミしかいないスレなんだから,こんな所に居続ける必要ないだろ
お前自身が粗大ゴミだと自覚しているなら仕方がないが
702デフォルトの名無しさん (ワッチョイ b7b2-r9Jq)
2019/12/24(火) 16:30:12.41ID:Uve8u0PJ0 うるせえな
どこのスレに来ようが貴様に口だしされる筋合いはない
どこのスレに来ようが貴様に口だしされる筋合いはない
703デフォルトの名無しさん (ワッチョイ ff63-prDO)
2019/12/24(火) 16:44:50.65ID:4UlhXCkA0 荒らしたいって事?
704デフォルトの名無しさん (ワッチョイ b7b2-r9Jq)
2019/12/24(火) 16:45:57.75ID:Uve8u0PJ0 脈絡ねえこと言ってんなよ
705デフォルトの名無しさん (ワッチョイ ff63-prDO)
2019/12/24(火) 17:10:39.49ID:4UlhXCkA0 特定の話題で話したいなら,そういうスレを見つけるか、無ければ作れば良いんだよ
C言語全般を話題にする既存のスレを荒らす必要がこれっぽっちもない
C言語全般を話題にする既存のスレを荒らす必要がこれっぽっちもない
706デフォルトの名無しさん (ドコグロ MMdf-fd2f)
2019/12/24(火) 17:25:45.59ID:obM24HmuM707デフォルトの名無しさん (ワッチョイ 9f52-1WEo)
2019/12/24(火) 17:30:04.53ID:4c603ABM0 >>705
C言語全般を話題にするスレと言ってる奴がC99は別スレに行けとか言ってたのだから、支離滅裂ダナー
C言語全般を話題にするスレと言ってる奴がC99は別スレに行けとか言ってたのだから、支離滅裂ダナー
708デフォルトの名無しさん (スップ Sd3f-x674)
2019/12/24(火) 17:52:25.07ID:vOfEkls8d C言語は
非常にチープな環境でも動く
低レベルな記述が可能
非常に多くの環境で動作する
コンパイラの作成が容易
ということで未だに多くの場所で使われている
これらのメリットを減らす拡張は不要
これらのメリットが不要な環境ではC言語は不要
C++や、よりリッチな言語を使うべき
非常にチープな環境でも動く
低レベルな記述が可能
非常に多くの環境で動作する
コンパイラの作成が容易
ということで未だに多くの場所で使われている
これらのメリットを減らす拡張は不要
これらのメリットが不要な環境ではC言語は不要
C++や、よりリッチな言語を使うべき
709デフォルトの名無しさん (ワッチョイ b7b2-r9Jq)
2019/12/24(火) 18:11:41.28ID:Uve8u0PJ0 もうゴテゴテつけんなよ、という意見には賛成だ
>>693
>C++コンパイラでC非互換の機能を使わない縛りこそ何の役にも立ちゃしねえ
K&R2 の範囲で書くことができるというのは必須の技能だと思いますよ、それができない、そもそもなにが K&R2 の範囲でなにがそうではないかを知らないようでは馬鹿と謗られてもしかたがない
>C++コンパイラでC非互換の機能を使わない縛りこそ何の役にも立ちゃしねえ
K&R2 の範囲で書くことができるというのは必須の技能だと思いますよ、それができない、そもそもなにが K&R2 の範囲でなにがそうではないかを知らないようでは馬鹿と謗られてもしかたがない
>>696
kwsk
kwsk
>>698
>C89さえ分かっていればC17を差分で憶えるのは大した話じゃない
そのとおり
できる奴にとっては、C99 だろうが C11 だろうが C17 だろうが、どれも大差がなく自由に行き来できるしどうでもいい
しかし、ここで敢えて「C89=K&R2 こそ正義」と煽ってみると、案外「老害死ね」という反応が続出する
そういう点から推察するところでは、このスレに出入りする人間の 50% は K&R2 すらわかっていないレベルではないだろうか、と考えさせられるのですよ
>C89さえ分かっていればC17を差分で憶えるのは大した話じゃない
そのとおり
できる奴にとっては、C99 だろうが C11 だろうが C17 だろうが、どれも大差がなく自由に行き来できるしどうでもいい
しかし、ここで敢えて「C89=K&R2 こそ正義」と煽ってみると、案外「老害死ね」という反応が続出する
そういう点から推察するところでは、このスレに出入りする人間の 50% は K&R2 すらわかっていないレベルではないだろうか、と考えさせられるのですよ
>>708
ライブラリとして、他の言語から直に呼んで貰うことを目指すため、C で書き直してしまうという話もよく聞きます、この手の用途を他の言語で聞いたことがない
ライブラリとして、他の言語から直に呼んで貰うことを目指すため、C で書き直してしまうという話もよく聞きます、この手の用途を他の言語で聞いたことがない
>>692
我々がしているのはヌルポインタの話だ
ただ 0 と書けば済む話のものに誰がタイプ数をつぎ込む?
まして #define NULL (void *)0 と構えて運用するようなものじゃない
マクロ NULL が存在すること自体なにかの間違いなのだ
我々がしているのはヌルポインタの話だ
ただ 0 と書けば済む話のものに誰がタイプ数をつぎ込む?
まして #define NULL (void *)0 と構えて運用するようなものじゃない
マクロ NULL が存在すること自体なにかの間違いなのだ
715デフォルトの名無しさん (ワッチョイ b7b2-r9Jq)
2019/12/24(火) 18:47:31.01ID:Uve8u0PJ0 >>710
K&R2の範囲で書くという具体的な案件を1つでも知っているか?
俺も含め、その案件に携わることになったとして困る者は極めて少数だと思うぜ
50%もいるようには全く思わない
K&R1の案件でさえ、今の若いのでもすぐ慣れるだろうさ
K&R2の範囲で書くという具体的な案件を1つでも知っているか?
俺も含め、その案件に携わることになったとして困る者は極めて少数だと思うぜ
50%もいるようには全く思わない
K&R1の案件でさえ、今の若いのでもすぐ慣れるだろうさ
717蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ 5701-upP4)
2019/12/24(火) 18:52:26.57ID:4kM/Vj6H0 >>714
整数とポインタのサイズが違うとき、NULLがないと大変なことになる。
整数とポインタのサイズが違うとき、NULLがないと大変なことになる。
>>717
可変長引数関数に (void *)0 を渡すときだけは (void *)0 は必要ですが、それ以外は 0 と書いてそれがポインタか整数かは文脈で判定できると思っています
可変長引数関数に (void *)0 を渡すときだけは (void *)0 は必要ですが、それ以外は 0 と書いてそれがポインタか整数かは文脈で判定できると思っています
719デフォルトの名無しさん (ワッチョイ 571a-prDO)
2019/12/24(火) 19:09:32.87ID:wOhZrnY70 >>717
ん?可変長引数とか、整数とポインタが曖昧なところでは NULL にもキャスト要るし、
NULL がサイズ違いとか動作上の問題を解決することなんてないのでは?
http://www.kouno.jp/home/c_faq/c5.html#4
ん?可変長引数とか、整数とポインタが曖昧なところでは NULL にもキャスト要るし、
NULL がサイズ違いとか動作上の問題を解決することなんてないのでは?
http://www.kouno.jp/home/c_faq/c5.html#4
720デフォルトの名無しさん (ワッチョイ ff02-65x4)
2019/12/25(水) 05:49:06.65ID:7G8eDwRY0 > ただ 0 と書けば済む話のものに誰がタイプ数をつぎ込む?
というわけで if(x != 0) じゃなくて if(x) だな
というわけで if(x != 0) じゃなくて if(x) だな
721デフォルトの名無しさん (ワッチョイ f773-prDO)
2019/12/25(水) 07:47:40.10ID:z2z2eZOK0 プロジェクトリーダー「数字直接記入禁止!全部#define で置き換えろ!」
大昔そんな事があったと聞いた。
大昔そんな事があったと聞いた。
722デフォルトの名無しさん (ワッチョイ 9773-x674)
2019/12/25(水) 08:01:19.10ID:LrSoTBV60 あった
フラグを一個も立って無いことを示す0もdefine
デバイスの特性を多項式近似した関数も
各係数を全てdefine
縦と横のそれぞれの座標計算、ループで処理にした方が記述が簡単なので2でループしたら
その2もdefine
他にも意味不明のコーディング規約が多数
フラグを一個も立って無いことを示す0もdefine
デバイスの特性を多項式近似した関数も
各係数を全てdefine
縦と横のそれぞれの座標計算、ループで処理にした方が記述が簡単なので2でループしたら
その2もdefine
他にも意味不明のコーディング規約が多数
723デフォルトの名無しさん (アウアウウー Sa5b-YiuP)
2019/12/25(水) 08:32:20.25ID:oGSLd7g6a それもこれもマジックナンバーにコメント書かなかったおまいらが悪いんやで
724デフォルトの名無しさん (ワッチョイ 9f52-1WEo)
2019/12/25(水) 08:34:25.12ID:mNtkopg10 マジックナンバーの何がいけない、どういう場合にどんな問題があるかを理解しないまま、杓子定規にルールだけ覚えるとそんな奴が出来上がるな。
725デフォルトの名無しさん (ワンミングク MM7f-XIG2)
2019/12/25(水) 08:51:06.27ID:gNbuW8hwM726デフォルトの名無しさん (ワッチョイ 7f7c-prDO)
2019/12/25(水) 09:53:45.40ID:WMMCG2Dq0 値まで書いたアホっぽい定数 はわりと使うかな・・・
#define EGGCOUNT30 30
みたいに書いちゃうやつ
コード中に即値書きたいけど書くとリファクタリングで死ぬから
リファクタリングのためだけに定数書いてる感じ
#define EGGCOUNT30 30
みたいに書いちゃうやつ
コード中に即値書きたいけど書くとリファクタリングで死ぬから
リファクタリングのためだけに定数書いてる感じ
727デフォルトの名無しさん (アウウィフ FF5b-hPjh)
2019/12/25(水) 10:17:23.56ID:2ymVLaRcF 当たり前だがリファクタリング以前に定数調整だけで死ぬぞ
#define EGGCOUNT 30
なら
#define EGGCOUNT 40
で済むのに
#define EGGCOUNT30 30
だと
#define EGGCOUNT40 40
で全置換する気か
#define EGGCOUNT 30
なら
#define EGGCOUNT 40
で済むのに
#define EGGCOUNT30 30
だと
#define EGGCOUNT40 40
で全置換する気か
728デフォルトの名無しさん (ワンミングク MM7f-XIG2)
2019/12/25(水) 10:24:47.96ID:gNbuW8hwM s/30/40/g
は基地外沙汰だが
s/EGGCOUNT30/EGGCOUNT40/g
ならイケそうかも!!
は基地外沙汰だが
s/EGGCOUNT30/EGGCOUNT40/g
ならイケそうかも!!
729デフォルトの名無しさん (ワッチョイ 9769-mhYo)
2019/12/25(水) 13:00:30.03ID:KFffpDzg0 フォーマット文字列中のも駄目なんかな
少数以下 3桁に整えるのに "%.3f" → "%.*f" にして引数で渡す
少数以下 3桁に整えるのに "%.3f" → "%.*f" にして引数で渡す
730デフォルトの名無しさん (ワッチョイ 9769-mhYo)
2019/12/25(水) 13:08:29.51ID:KFffpDzg0 ああ フォーマット文字列を define しろということか
#define FORMAT "%.3f"
:
sprintf(buf, FROMAT, double_value);
みたいな
#define FORMAT "%.3f"
:
sprintf(buf, FROMAT, double_value);
みたいな
731デフォルトの名無しさん (スッップ Sdbf-x674)
2019/12/25(水) 13:12:39.59ID:wMqEADXhd732デフォルトの名無しさん (スッップ Sdbf-x674)
2019/12/25(水) 13:18:43.41ID:wMqEADXhd733デフォルトの名無しさん (ワッチョイ 7f7c-prDO)
2019/12/25(水) 13:45:41.90ID:WMMCG2Dq0734デフォルトの名無しさん (ワッチョイ ff63-prDO)
2019/12/25(水) 13:50:36.68ID:V0IDAf7x0 エディタの正規表現は使わないのか?
複数パターンでも一回で出来ると思うが
複数パターンでも一回で出来ると思うが
735デフォルトの名無しさん (ワッチョイ 9f2c-1ZZR)
2019/12/25(水) 14:28:39.98ID:ZI663GBY0736デフォルトの名無しさん (ワッチョイ b7b2-r9Jq)
2019/12/25(水) 14:58:33.15ID:HhfzRslS0 x != 0 も bool ではないんだが
737735 (ワッチョイ 9f2c-1ZZR)
2019/12/25(水) 15:17:44.07ID:ZI663GBY0 x != 0
は、yes/no の2値しかないでしょ?
実質的には、bool 値として使っている
は、yes/no の2値しかないでしょ?
実質的には、bool 値として使っている
738デフォルトの名無しさん (ワッチョイ b7b2-r9Jq)
2019/12/25(水) 15:25:44.58ID:HhfzRslS0 それはおまえの思い込み
ISO/IEC 9899:2011
6.5.9 Equality operators
3
Each of the operators yields 1 if the specified relation is true and 0 if it is false.
The result has type int.
これが事実だ
ISO/IEC 9899:2011
6.5.9 Equality operators
3
Each of the operators yields 1 if the specified relation is true and 0 if it is false.
The result has type int.
これが事実だ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★4 [七波羅探題★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- 【速報】気象庁は津波注意報すべて解除 [蚤の市★]
- 【サッカー】58歳カズ「オファーが来ている」 J3福島と近日中にも交渉 早ければ年内にも決断 [征夷大将軍★]
- 「3.11の余震とは別か」「長時間避難できる場所を」 識者の見方 [蚤の市★]
- 前のネトウヨ「抗議だけで済ませるから日本は中国に舐められる!」→今「冷静に毅然と抗議する高市さん凄い!」 これマジで何なんだよ… [314039747]
- 【実況】博衣こよりのえちえち朝こよ🧪
- さかまた「過呼吸になった」かなた「耳聞こえない」ござる「声出ない」まつり「ご飯食べれない」
- 【画像】カリカリ女、脱いだらすごい😨 [632966346]
- 早大名誉教授「高市内閣の高支持率はデータ操作か、支持している日本人がアホなのか」👈核心を突いてしまう [868050967]
- こんぺこ!こんぺこ!こんぺこ!🐰🏡
