C言語なら俺に聞け 153

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 5fba-LL4R)
垢版 |
2019/08/17(土) 23:02:42.00ID:tN5mSQYg0
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
2019/12/26(木) 01:16:16.88ID:wuBFmrIL0
>>756
コンパイラは改行を無視するんやで
2019/12/26(木) 01:20:09.70ID:SdIj1xpo0
ありがとうございます。
後者にしないといけないという決まりとかあるんですか?
2019/12/26(木) 01:22:32.15ID:B3/URd3+M
文法じゃなくてコーディングスタイルのこと聞いてるんでしょ。
チーム内で決まったスタイルがあるならそれに従えばいいし、
そうでなければ自分の好みで決めればいい。
俺の好みは1行減るし統一感のある前者。
2019/12/26(木) 01:23:11.55ID:rIhsLdYp0
私も前者
2019/12/26(木) 01:28:27.58ID:ekrCE4yL0
K&R2は後者
2019/12/26(木) 01:40:40.30ID:SdIj1xpo0
もう少し考えてみようと思います
深夜にありがとうございました
2019/12/26(木) 07:31:20.36ID:RfJEL4eB0
>>752
では、741は何を主張したかったんだ?

> MISRA-Cを守っていないと、低品質で、審査に通りませんよと言うことw

わざわざ、こんな戯れ言をぬかした意図を説明しろ
2019/12/26(木) 07:33:50.37ID:Fsuom43iM
>>764
それは741に聞けや
俺はお前のバカさを指摘しただけ
2019/12/26(木) 07:36:01.30ID:RfJEL4eB0
>>756
if (...) {
while (...) {
do {
なのに、
main()
{
という矛盾はよく見かけるが
そうなっている案件で秩序を乱すことはしない
2019/12/26(木) 07:49:13.97ID:RfJEL4eB0
>>765
741本人のくせに自分の言葉から逃げてんなよ
まあ、あれじゃ逃げたくなるのはわかるがw
2019/12/26(木) 08:06:43.81ID:GqOej4nw0
>>756
int func(int arg)
{
...
}
という具合に「関数本体を開始する波括弧を次の行に書く」方式だと
ヘッダファイルにプロトタイプ宣言として書き写す際に
1行コピーして行末に ; 追加で完了、楽チンという利点があるわね。

main() の場合は当てはまらないのがやや弱いけど。
2019/12/26(木) 08:18:02.10ID:Fsuom43iM
>>767
自分のバカさを認められずに自演認定でごまかすのに必死かよw
哀れな奴
2019/12/26(木) 08:31:13.53ID:RfJEL4eB0
>>769
MISRAの話しなくなってやんのw
技術板で技術的な話ができないやつはゴミ以下だぜ
2019/12/26(木) 08:47:26.74ID:Fsuom43iM
>>770
> 技術板で技術的な話ができないやつはゴミ以下だぜ
中学校の数学すら理解してない奴が何言ってるんだかw
2019/12/26(木) 10:44:30.71ID:RfJEL4eB0
>>771
いや理解してるよ
そうでなきゃ年収8桁はできねえ
2019/12/26(木) 11:06:55.96ID:F8ujXl8x0
こんなところで年収自慢なんかしても虚しいだけじゃないか?
対偶を勘違いしてるなんてみんな気付いてるのに無理につっかかんなって
2019/12/26(木) 11:13:36.42ID:ekrCE4yL0
>>766
power(x, n)
int x, n;
{
....
}
2019/12/26(木) 11:15:24.50ID:ekrCE4yL0
MISRAで if(x)がまずい理由を教えてくだされ
776デフォルトの名無しさん (ワイーワ2 FF7a-v1fK)
垢版 |
2019/12/26(木) 11:17:42.33ID:qmNoWNu8F
>>731
一般的に特定の非正規形は特定の分析用途には使いやすくても
違う観点で分析しようとすると正規形からデータ変形するよりも多くの手間がかかる
参照オンリーの場合でもデータの利用方法が定型化していない場合は正規形から考えるメリットは大きい

特にRDBで分析用途のDBを用意する場合は参照オンリーでも正規形から考えとかないと手間が異常に増える
777デフォルトの名無しさん (ワイーワ2 FF7a-v1fK)
垢版 |
2019/12/26(木) 11:21:50.00ID:qmNoWNu8F
>>752
高品質で、審査に通っていれば、MISRA-Cを守っている

やっぱり違うなω
元の命題からして可笑しいωωω
2019/12/26(木) 11:31:06.38ID:F8ujXl8x0
元の命題の真偽ではなく元の命題を真と仮定した場合、対偶は真か?という話
本来、対偶は真であるが747は対偶ではない命題を挙げてそれが真であるかのようにレスしているので突っ込まれた
対偶の挙げ方の間違いを指摘したのになぜか元の命題の真偽についてギャーギャー言うから話が噛み合わない
2019/12/26(木) 11:36:01.57ID:RfJEL4eB0
>>773
みんな気付いているのは、わざと言っていることだよ
鬼の首でも取ったように得意がってるのがおまえだけ
中学の数学がやっとわかるのか、すごいなあw
2019/12/26(木) 12:24:56.24ID:Fsuom43iM
いきなり年収自慢とか笑える
まあ低能にありがちな行動だけどなw
2019/12/26(木) 12:27:00.84ID:RfJEL4eB0
中卒でも中には総理大臣になった人もいるけどね
そういうことにしといてやろうか?
2019/12/26(木) 12:48:48.88ID:nqqh6plV0
そもそも集合関係と因果関係を混同しているのが間違いの原因
「事象Aが真ならば事象Bは真」の対偶「事象Bが真でないならば事象Aは真ではない」は常に正しい
一方「原因Aが真ならば結果Bは真」に対して「結果Bが真でないならば原因Aは真ではない」は正しいとは限らない
2019/12/26(木) 13:05:49.36ID:mq/d+l+IH
>>774
K&R1の時代には改行後に { を書くしかないが、
いまどき持ち出して混乱させるのはやめろ
2019/12/26(木) 13:06:48.52ID:RfJEL4eB0
>>782
おまえ747の時点で俺がそう言っているのが読めてないもんな
そうやって教科書を朗読するのもいいことだから頑張んなw

お勉強はまず憶えることが初手だが
現実問題に応用できるようになって始めて完成するんだよ
2019/12/26(木) 13:08:29.47ID:RfJEL4eB0
>>783
774は制御文と関数は違うということが766の言う「矛盾」のルーツだと言いたいんだと思うぜ
2019/12/26(木) 16:43:01.33ID:nqqh6plV0
>>747は「事象Aが真でないならば事象Bは真ではない」
集合論で言えば「対偶」ではなくて「裏」の関係
2019/12/26(木) 16:53:45.31ID:nqqh6plV0
「裏」の「逆」または「逆」の「裏」が「対偶」
ある命題とその待遇が等しいのはそれぞれの事象に因果関係が存在しない場合に限る
2019/12/26(木) 16:55:11.16ID:nqqh6plV0
訂正
対偶 ← 待遇
789デフォルトの名無しさん (ワッチョイ 2135-5PNG)
垢版 |
2019/12/26(木) 16:58:23.55ID:sEyHy/3c0
ダッサ。
2019/12/26(木) 17:06:16.94ID:RfJEL4eB0
やっぱり、憶えたてなんだな
2019/12/26(木) 17:08:28.53ID:nqqh6plV0
間違った応用が>>747
2019/12/26(木) 17:49:48.63ID:WYIkcR78d
MISRAの肩を持とうとしてしくじったトンマなやつに
どんな気持ちか聞いてみたのさ
2019/12/26(木) 17:53:02.71ID:WYIkcR78d
741本人以外がこんなに激怒するわけねえしな
なあトンマ、今どんな気持ち?
2019/12/26(木) 19:16:56.42ID:Fsuom43iM
対偶と裏の区別もつかずに年収8桁とか学歴とか低能にありがちなレス連発やんw
こんなわかりやすい奴久々に見たわ
2019/12/26(木) 19:33:59.80ID:AoPKrYsL0
この場合は対偶ではなく必要条件だろう
2019/12/26(木) 20:35:37.78ID:oR6l+tOb0
>>794
あなたのほうが滑っていますよ…
そもそも MISRA 推しな時点でこのスレの住人から疑問の声が挙がっているのに、まだそれに気づかないの?

末期ですね
2019/12/26(木) 22:41:57.32ID:VSQSaAA/0
いくらMISRA推しガーとか言っても>>747がバカなのは変わらないんだがw
2019/12/26(木) 22:55:46.00ID:T0QuicHn0
トヨタの車が暴走した問題で、米国議会でも言ってただろ

トヨタは、MISRA-C で、10点ぐらいしか取れてないってw
100ルール中、90に違反してる

守ってない企業があるから、人命を預かる、ロケット・医療系組み込みなどでは、
特に厳しい資格が必要だと議論になってる

組み込みでは、バグで簡単に、人が死ぬから

だから、何十年も研究してる、Elixir みたいな関数型を使う
799デフォルトの名無しさん (アウアウクー MMd2-Ap2Z)
垢版 |
2019/12/26(木) 23:26:05.24ID:46flAZOsM
プログラムを書くのに●●は駄目だとか使いにくくなるほど制限かけてもさぁ
書きたい事に必要な関数とか書き方とか知らないようなのに投げてるだけなので脆弱性になるようなバグは出てくるし意味がない
むしろ知ってるような人にとっては制限になって害でしかない
2019/12/26(木) 23:35:54.81ID:T0QuicHn0
JavaScript で言えば、TypeScript, ESLint とか

違反を警告してくれる、lint ツール
2019/12/27(金) 04:25:18.37ID:z/PqntEl0
>>740
> 実質的にboolなら中身はdoubleでもenumでもint64_tでもifに入れて良い
っていうコーディング規約
-0.0は ?
2019/12/27(金) 08:36:35.25ID:DgDeU8pJ0
>>799
御意

無能のために無能に合わせろと無能がわめく
自己虫以外の何ものでもない
2019/12/27(金) 10:25:45.84ID:LEFEPZUo0
MISRAってむしろ>>799, >>802みたいな自称上級者がやらかすのを防止するためのものなんだけどなw
2019/12/27(金) 11:19:30.64ID:atLAFlUCa
もうめんどくさいからMISRA押しのRuby君が害悪ということでいいのではなかろうか?
2019/12/27(金) 11:33:33.48ID:4UHOi1400
>>798
トヨタなんて下請け丸投げでソース読めなくてレビューもしてくれなくてテスト仕様書も丸投げで無駄なエビデンスばかり要求してる
10点ぐらいしか取れてないのは下請けなんだけどそれを指摘もできない
2019/12/27(金) 12:23:31.65ID:DgDeU8pJ0
>>803
上級者なんて称号は俺はもちろん客先の誰も使ってねえぜ
仕事がもらえる、それだけだ

わかるかい? 無職君w
2019/12/27(金) 12:25:05.61ID:DgDeU8pJ0
ちょっと年収の話したらあんなに発狂すると思わなかった
よっぽどコンプレックスらしいな、おーこわ
808デフォルトの名無しさん (ワッチョイ 328c-M7II)
垢版 |
2019/12/27(金) 13:04:42.76ID:8p+LGuzl0
作業は指示するが仕事は教えないクソ野郎が増えたから
この先の見通しが暗い。
2019/12/27(金) 13:14:05.49ID:LEFEPZUo0
「自称」上級者の意味すら理解できない>>806
だめなのは数学だけかと思ったら国語も壊滅的だなw
2019/12/27(金) 14:16:27.64ID:DgDeU8pJ0
見てやってよ、このファビョり方w
2019/12/27(金) 18:59:31.88ID:9iE1xeZJ0
>>800
そういうものを MISRA 対応として lint ツールとして無償公開するのが筋というものでしょうね
2019/12/27(金) 19:05:46.68ID:9mTyz2ro0
例外項目を設けてスコアで評価するにしても、事前に自動評価できるツールがあるといいですわね
2019/12/27(金) 19:07:00.34ID:EEOcwadQ0
すぐに愚痴こぼしスレになってしまう
2019/12/27(金) 19:30:32.05ID:DgDeU8pJ0
スコアとか意味ねえ
違反箇所は違反箇所で数の問題じゃねえ
違反プログラムは遠さねえとぬかすなら絶対に通すな
その結果に責任を持て
2019/12/27(金) 20:14:59.62ID:LEFEPZUo0
対偶すら理解できてない奴が責任を持てとかw
2019/12/27(金) 20:32:09.24ID:BhrMVyLj0
MISRA対応テストツール高そう
2019/12/27(金) 20:33:12.08ID:BhrMVyLj0
>>803が仕事を出している側である可能性を考慮できない>>806
2019/12/27(金) 20:59:59.10ID:9iE1xeZJ0
>>815
そこにしか突っ込むことが出来ないのですか?みじめですね…
2019/12/27(金) 21:01:30.94ID:G2Hqp8Jj0
組込み開発者におくるMISRA‐C:2004―C言語利用の高信頼化ガイド、MISRA‐C研究会、2006

この研究会は、トヨタなど大企業から、数十人のベテが集まって、
欧州人に聞きながら、作った本。
未だに、コーディングルールのバイブルだろ

元々は、Andrew Koenig の本

C Traps and Pitfalls, 1988, c1989
Cプログラミングの落とし穴

この本から、Lint が始まったのじゃないか?
2019/12/27(金) 21:11:55.30ID:LEFEPZUo0
>>818
別に他のところに興味ないし
まあこんな初歩的なところに突っ込まれるとそりゃ困るわなw
だからROMってりゃいいと思うんだけどな
2019/12/27(金) 21:13:58.37ID:LEFEPZUo0
>>819
> この本から、Lint が始まったのじゃないか?
流石にもう少し時代を見てからレスした方がいいぞ…
2019/12/27(金) 21:29:02.92ID:BhrMVyLj0
そっかー組み込み屋さんはUNIXの歴史とか知らなかったりするのか
2019/12/27(金) 21:33:22.44ID:9iE1xeZJ0
>>819
>この本から、Lint が始まったのじゃないか?

違います
初期の lint はベル研の V7 と同時、1979 にはリリースされています
K&R1 は特に引数まわりはスキのある仕様でしたので細かくチェックをいれる lint は必要であったのも理解できます、これは K&R2 になってかなり改善されました
それに最近のコンパイラは lint に似た warning も出せるようになったし
2019/12/27(金) 22:09:21.87ID:G2Hqp8Jj0
はじめてのOSコードリーディング UNIX V6で学ぶカーネルのしくみ、青柳 隆宏、2013

そう言えば昔、こういう本も読んだ
2019/12/28(土) 01:02:34.32ID:Td7wq8Cw0
ジャンケンのコードを書いてみました
よろしければ、ご指摘等をお願いします
https://pastebin.com/HCLJ5m7p
2019/12/28(土) 02:00:59.65ID:xvOJ+UySM
>>825
少しは取り繕えよ
何かのコピペだろ
2019/12/28(土) 06:31:05.78ID:r5X0es4d0
>>823
> それに最近のコンパイラは lint に似た warning も出せるようになったし
初期のlint使ったことないだろw
2019/12/28(土) 07:57:54.17ID:b9pc6wBR0
>>817
そんな可能性は絶対の絶対にゼロだ
2019/12/28(土) 08:04:30.24ID:b9pc6wBR0
>>815
俺に言わせれば、おまえ文系くせえんだよ
俺はハード設計もやるから負論理だのド・モルガンだのは息をするくらい当たり前なことで
待遇だの裏だのという用語で得意がるやつは専門分野は何だろうと思ってしまうのさ

それから突っ込まれてるのはおまえだぞ、741本人よ
2019/12/28(土) 08:18:01.34ID:5fvEktMvd
待遇で得意がるvsドモルガンで得意がる
小学生同士かよ
2019/12/28(土) 08:39:28.74ID:r5X0es4d0
>>829
対偶の話に負論理とかド・モルガン?
恥の上塗りか?
あと741に突っ込んでるのは頓珍漢なお前だけだぞw
2019/12/28(土) 09:32:59.76ID:b9pc6wBR0
やっぱり通じねえなw
2019/12/28(土) 09:45:41.04ID:5fvEktMvd
C言語の話しようぜ
2019/12/28(土) 10:06:23.41ID:VDzFwrot0
printf("やっぱり通じねえなw\n");
2019/12/28(土) 11:10:17.46ID:vnZXJluZ0
電子回路・HDL などの組み込みでは、
AND, OR, NOT, NAND,NOR などの回路、
負論理、ド・モルガン、カルノー図とか、初歩だぞw

まず、情報処理の組み込みの教科書を読め!
836デフォルトの名無しさん (ワッチョイ 2135-YzVQ)
垢版 |
2019/12/28(土) 11:11:43.15ID:CljHkVQA0
>>831
負論理とかドモルガン知ってる人が対偶の意味知らないと思ってるの?
837デフォルトの名無しさん (ワッチョイ 328c-M7II)
垢版 |
2019/12/28(土) 11:18:29.36ID:BVlwLEoZ0
双対は知らないだろう?
2019/12/28(土) 11:34:08.50ID:KhDEPBLca
このスレっていつも下らない喧嘩を延々と続けてる奴らがいるけど、何なんだろう。どっちが正しいとか以前に言ってる中身(議論の仕方)が下らなくて他人からはどっちもバカにしか見えないから消えてくれないか。
2019/12/28(土) 11:34:44.58ID:9Pig40yt0
>>827
Sun OS 4.1 のはやったことがありますが、初期の頃とは変わっていたのかも
2019/12/28(土) 11:54:34.25ID:xvOJ+UySM
>>836
彼は分かってない
2回も指摘されてるのに論理が破綻していることに気付いてない
>>747,750,751,752
>>782,784,786
2019/12/28(土) 12:53:03.04ID:1RUtvmltM
>>836
さあどうだろうね、「ド・モルガンの定理知ってる」なら「待遇を理解してる」という命題が証明されたとか聞いたことないし
そもそもド・モルガン知ってるとか言うのも>>829が言ってるだけだし、>>747が対偶でない事を知ってるのかすら怪しいしなw
842デフォルトの名無しさん (ワッチョイ 2135-YzVQ)
垢版 |
2019/12/28(土) 13:01:09.99ID:CljHkVQA0
読んでないから知らんけどこんな雑談に対偶ガーとか論理ガーとか証明ガーってのは馬鹿馬鹿しいね。
2019/12/28(土) 13:08:05.93ID:xvOJ+UySM
似て非なるもの
ド・モルガン
A ∩ B = ¬(¬A ∪ ¬B)
A ∪ B = ¬(¬A ∩ ¬B)
対偶
A ⇒ B = ¬(¬B ⇒ ¬A)
844デフォルトの名無しさん (ラクッペ MM4b-HCDf)
垢版 |
2019/12/28(土) 13:09:43.37ID:1WIkADffM
正直、アスペ馬鹿が下らないことを追求したがってるだけにしか見えない
2019/12/28(土) 13:14:14.77ID:xvOJ+UySM
コピペ改変してから何か変だと思い直してみれば正解はこうだったすまん
対偶
A ⇒ B = ¬B ⇒ ¬A
2019/12/28(土) 13:19:13.30ID:Td7wq8Cw0
>>826
いえ、typedefの文はスッキリCを参考にしましたが、
あとのアルゴリズムはオリジナルです

こんなところで意見を求めるのは図々しいと分かってはいますが、
何とかお願いします
2019/12/28(土) 14:01:27.13ID:L2lyDMSgM
後出しで負けを実装するとよりじゃんけんぽくなるぞ
848デフォルトの名無しさん (ワッチョイ f6d2-Bxcu)
垢版 |
2019/12/28(土) 15:05:05.31ID:VCBq52Cm0
C言語のBNFって何種類あるの?
知ってるだけ全部教えて
2019/12/28(土) 15:51:37.71ID:r5X0es4d0
>>842
うん、俺もそう思うよ
>>747が裏も正しいと思い込んでるバカってだけの話だしw

>>844
何を追求してると思うの?
追求すべき事柄なんて特にないと思うけど
2019/12/28(土) 15:54:09.64ID:r5X0es4d0
>>848
https://cs.wmich.edu/~gupta/teaching/cs4850/sumII06/The%20syntax%20of%20C%20in%20Backus-Naur%20form.htm
2019/12/28(土) 15:54:25.66ID:Srq0kgZJa
>>848
ググれ
2019/12/28(土) 17:33:03.88ID:y9rwRM9T0
OKグーグル、CのBNFを教えて
2019/12/28(土) 17:41:03.87ID:c/4LCSnv0
K&Rの付録ページになかったかなかな?
2019/12/28(土) 17:45:59.25ID:y9rwRM9T0
BNFで思い出したが

enum { a } func(void) { return a; }

この文法使い道ないよな
2019/12/29(日) 03:22:40.86ID:GZSHSaBs0
>>714
エイリアスの否定とはいただけない
直値だけの糞コードはゴメンだわ
意味によって0とNULLは書き分けるよ
2019/12/29(日) 10:41:38.70ID:yqbBnK7b0
>>855
その書き分けに意味はあるのでしょうか?
2019/12/29(日) 10:49:06.87ID:OzwmxFfFa
>>856
お前にとっては意味がない。
俺や俺以外の書き分けたい人には意味がある。
それだけだから気にしなくていいぞ。
2019/12/29(日) 11:39:04.46ID:k3T+0Ot70
やたら長いコードの中で
it = &a;
*a = 0;
it = 0;
a = 0;
とか書かれたら混乱するだろ。
あ、でも屑はハンガリー人なんだっけ?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況