↑
次スレを作る時は上記1行をコピーして2行に増やして必ず1行目に入るようにしてください。
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/
※前スレ
C言語なら俺に聞け 149
https://mevius.5ch.net/test/read.cgi/tech/1540731704/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
C言語なら俺に聞け 150
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (アウアウクー MM57-IE4z)
2019/02/06(水) 13:39:03.21ID:c4bnQMl3M352デフォルトの名無しさん (ワッチョイ 11da-1onY)
2019/02/26(火) 15:29:48.44ID:qT2RVqJL0 集まるのは良いが、「黙ってろ」はないな
353デフォルトの名無しさん (ラクペッ MM65-JHNE)
2019/02/26(火) 15:45:14.31ID:vHMOYNHiM 妥当な発言なら問題ないんだけどね
挑発的な発言が目に余るので煽り発言は控えたほうがいいと言ってるだけ
挑発的な発言が目に余るので煽り発言は控えたほうがいいと言ってるだけ
354デフォルトの名無しさん (ワッチョイ 11da-1onY)
2019/02/26(火) 15:46:01.71ID:qT2RVqJL0 そういう発言自体が荒らしになるとは思わないのか
355デフォルトの名無しさん (ワッチョイ 11da-1onY)
2019/02/26(火) 15:48:03.09ID:qT2RVqJL0 そもそもワンチップマイコンの知識は
C言語の話題をやり取りする上で必須ではないだろう
そういう話題を話したいなら専用スレを立てろと言っている
C言語の話題をやり取りする上で必須ではないだろう
そういう話題を話したいなら専用スレを立てろと言っている
356デフォルトの名無しさん (ラクペッ MM65-JHNE)
2019/02/26(火) 15:48:26.91ID:vHMOYNHiM 人にとやかく言う前に自分の発言見直して見れば?
357デフォルトの名無しさん (バッミングク MMb1-DIal)
2019/02/26(火) 16:10:12.93ID:lxe9rt7zM 相変わらずみんな仲いいな。
今日も平和に通常運転。
今日も平和に通常運転。
358デフォルトの名無しさん (アウアウウー Sa21-rusg)
2019/02/26(火) 17:43:39.42ID:k06atLuFa みんな愛し合っているのさ
359デフォルトの名無しさん (スッップ Sd0a-89Xw)
2019/02/26(火) 18:00:07.68ID:4VLeDBYTd 現実から目をそらすな。明らかに仲悪そうだぞ。
360デフォルトの名無しさん (ワッチョイ 6d27-rusg)
2019/02/26(火) 18:03:23.92ID:UtNGjYRh0 大嫌い 大嫌い 大嫌い 大好き☆
361デフォルトの名無しさん (アウアウウー Sa21-0aQJ)
2019/02/26(火) 18:35:04.99ID:c2o2e7e/a >>359
つんでれ
つんでれ
362デフォルトの名無しさん (ワッチョイ a95f-qM0Q)
2019/02/26(火) 19:43:38.47ID:hfhf4rvY0 >>346
それ単にプログラム内のルールにすぎない。どんな言語であれ、入れ物を使い分けを限定することで、プログラマのミス防止や可読性、保守性が高まるのは、まともなプログラマなら必ずやっている。
これがハードウェアの機能にあるのか、ソフトウェアの機能にあるのか、それともそんな機能はないのでコーディングルールなのかの違いにすぎない。
それ単にプログラム内のルールにすぎない。どんな言語であれ、入れ物を使い分けを限定することで、プログラマのミス防止や可読性、保守性が高まるのは、まともなプログラマなら必ずやっている。
これがハードウェアの機能にあるのか、ソフトウェアの機能にあるのか、それともそんな機能はないのでコーディングルールなのかの違いにすぎない。
363デフォルトの名無しさん (ワッチョイ a95f-qM0Q)
2019/02/26(火) 19:52:11.95ID:hfhf4rvY0 >>346
それ単にプログラム内のルールにすぎない。どんな言語であれ、入れ物を使い分けを限定することで、プログラマのミス防止や可読性、保守性が高まるのは、まともなプログラマなら理解している。
これがハードウェアの機能なのか、ソフトウェアの機能なのか、それともそんな機能はないのでコーディングルールなのかの違いにすぎず、現代では常識的な話。
コンピュータにとっては動けばいいわけで、設計の話とアーキテクチャの話をごちゃ混ぜするからよくない。
高水準言語であればあたりまえすぎることだが、C言語は中水準言語で、OS、ハードウェアの組み合わせにより、動きが異なるから、本来は仕様、設計があって考えること。
これがアーキテクチャがこうだから、こういう発想になるというのは順番が逆。
それ単にプログラム内のルールにすぎない。どんな言語であれ、入れ物を使い分けを限定することで、プログラマのミス防止や可読性、保守性が高まるのは、まともなプログラマなら理解している。
これがハードウェアの機能なのか、ソフトウェアの機能なのか、それともそんな機能はないのでコーディングルールなのかの違いにすぎず、現代では常識的な話。
コンピュータにとっては動けばいいわけで、設計の話とアーキテクチャの話をごちゃ混ぜするからよくない。
高水準言語であればあたりまえすぎることだが、C言語は中水準言語で、OS、ハードウェアの組み合わせにより、動きが異なるから、本来は仕様、設計があって考えること。
これがアーキテクチャがこうだから、こういう発想になるというのは順番が逆。
364デフォルトの名無しさん (ドコグロ MM15-ZgJD)
2019/02/26(火) 19:57:57.62ID:Dl2cSn2NM 普通に一般化してる用語で話せばいいのになぜかオレオレ用語使って指摘されたらわからないのかとか逆ギレw
なんとなくはわかってもそのローカル用語が意図してるものと自分が思ってるものが同じかどうかはわからんから指摘してるのに…
まともなエンジニアじゃないんだろうな
なんとなくはわかってもそのローカル用語が意図してるものと自分が思ってるものが同じかどうかはわからんから指摘してるのに…
まともなエンジニアじゃないんだろうな
365デフォルトの名無しさん (アウアウウー Sa21-0aQJ)
2019/02/26(火) 20:20:38.82ID:c2o2e7e/a 長文が溢れるスレ
366デフォルトの名無しさん (ラクペッ MM65-JHNE)
2019/02/26(火) 20:45:40.56ID:rW40iFORM 知識や能力の不足に対する自己防衛反応みたいなものだから流し読みしてればいい
367デフォルトの名無しさん (ワッチョイ ea01-ZgJD)
2019/02/26(火) 21:45:18.69ID:7TQlJfaY0368デフォルトの名無しさん (ワッチョイ 11d2-E+eR)
2019/02/27(水) 12:00:03.35ID:wHsSBDML0 具体例なしで一般論しか言わないやつは信用できない
特徴は具体的な質問されると話をそらすか黙り込むやつ
特徴は具体的な質問されると話をそらすか黙り込むやつ
369デフォルトの名無しさん (アウアウウー Sa21-0aQJ)
2019/02/27(水) 12:55:17.62ID:1o6M4rIDa そんな一般論だけ書かれても・・・
370デフォルトの名無しさん (ワッチョイ a69d-rusg)
2019/02/27(水) 17:52:20.13ID:n00Gq01P0371デフォルトの名無しさん (ワッチョイ 6ada-rusg)
2019/02/27(水) 18:37:51.02ID:OX9NrkAd0 ベアメタル系のプロの意味がよく分からないけどC言語と何か関係あるの?
372デフォルトの名無しさん (アウアウウー Sa21-0aQJ)
2019/02/27(水) 21:26:14.35ID:1o6M4rIDa Bare ボーン
まゆげボーン
まゆげボーン
373デフォルトの名無しさん (ワッチョイ a69d-rusg)
2019/02/27(水) 22:06:45.86ID:n00Gq01P0 貴様が知る必要はない
374デフォルトの名無しさん (ラクペッ MM65-JHNE)
2019/02/27(水) 23:34:44.12ID:OqYQPgaeM 大体何と勘違いしたのか予測はつくがおそらく間違ってるぞ
少なくともx86系では通用しない
少なくともx86系では通用しない
375デフォルトの名無しさん (ワッチョイ f7d2-mfNA)
2019/02/28(木) 08:01:20.41ID:7nNuTdUM0 だから具体例を書けよ
376デフォルトの名無しさん (ワッチョイ d7da-mjQG)
2019/03/01(金) 15:17:20.50ID:ixp8onlm0 すみません、初心者なんですが図書館にプログラミング言語Cという本があったので借りてきて勉強中です。
p105のコード
nはint
if(n / 10)
printd(n / 10)
なんで割り算自体を条件に出来るのですか。
p105のコード
nはint
if(n / 10)
printd(n / 10)
なんで割り算自体を条件に出来るのですか。
377デフォルトの名無しさん (ワッチョイ f7da-w9Lt)
2019/03/01(金) 15:19:35.58ID:24bVz3/E0 出来るかどうかは自分で試した方がいい
その上で、なんでそうなるかを考え、
分からないときに聞きにおいで
その上で、なんでそうなるかを考え、
分からないときに聞きにおいで
378さまよえる蟻人間 ◆T6xkBnTXz7B0 (スフッ Sdbf-tIeT)
2019/03/01(金) 15:20:45.58ID:7MuZNvWwd >>376
わり算の結果(この場合は整数)がゼロじゃなかったら論理値の真(true)と見なされる。
わり算の結果(この場合は整数)がゼロじゃなかったら論理値の真(true)と見なされる。
379デフォルトの名無しさん (アウアウウー Sa9b-RuLt)
2019/03/01(金) 15:23:30.96ID:ber2ILYja >>376
C言語のifは0か0以外かしか見ていないため。
C言語のifは0か0以外かしか見ていないため。
380デフォルトの名無しさん (ワッチョイ d7da-mjQG)
2019/03/01(金) 15:38:09.31ID:ixp8onlm0381デフォルトの名無しさん (スッップ Sdbf-x13U)
2019/03/01(金) 15:53:16.08ID:nQNJhNQvd 他の言語でいえば
1:true
0:false
って感じですな
1:true
0:false
って感じですな
382デフォルトの名無しさん (スッップ Sdbf-x13U)
2019/03/01(金) 15:54:07.94ID:nQNJhNQvd >>381
この表現は語弊があるので忘れてください、すみません
この表現は語弊があるので忘れてください、すみません
383デフォルトの名無しさん (ワッチョイ ff2c-Im2K)
2019/03/01(金) 16:01:43.78ID:yZJ4Zkhu0384デフォルトの名無しさん (ワッチョイ 9fda-AU+X)
2019/03/01(金) 16:53:12.47ID:omZ6F1i00 他の言語ならともかくC言語プログラマ的には普通だな
385デフォルトの名無しさん (ワッチョイ 9f18-W5e4)
2019/03/01(金) 16:59:37.54ID:wVb5PmwP0 説教くせえことを書くならてめーの言葉遣いくらい気をつけろ
boolじゃねえだろ_Boolだ
MISRA-Cが安全だなんて決まりはどこにもねえぞ
コーディング基準はそれを守りさえすれば安全だなんて信じているようだが自分の頭で考えることを放棄した手合いか?
少なくともそういうカスはPGとして普通未満だぜ
boolじゃねえだろ_Boolだ
MISRA-Cが安全だなんて決まりはどこにもねえぞ
コーディング基準はそれを守りさえすれば安全だなんて信じているようだが自分の頭で考えることを放棄した手合いか?
少なくともそういうカスはPGとして普通未満だぜ
386デフォルトの名無しさん (アウアウウー Sa9b-RuLt)
2019/03/01(金) 17:32:32.07ID:ber2ILYja >>380
そう。比較する演算子を使うとその結果が0または1になるので他の言語でのifと同じようにも使える。
そう。比較する演算子を使うとその結果が0または1になるので他の言語でのifと同じようにも使える。
387デフォルトの名無しさん (アウアウカー Sa6b-WzxR)
2019/03/01(金) 17:49:40.28ID:lMpRUADOa boolも予約語だと思うよ。ただの別名だけど。
388デフォルトの名無しさん (ワッチョイ 9f18-W5e4)
2019/03/01(金) 18:05:13.76ID:wVb5PmwP0 ISO/IEC 9899:2011 7.18 Boolean type and values <stdbool.h> には
マクロと書いてあるが、どこかに予約語と書いてあるのか?
ISO/IEC 9899:2011 6.4.1 Keywords にはねえぞ
マクロと書いてあるが、どこかに予約語と書いてあるのか?
ISO/IEC 9899:2011 6.4.1 Keywords にはねえぞ
389デフォルトの名無しさん (アウアウウー Sa9b-WzxR)
2019/03/01(金) 18:07:32.60ID:OVLCgqzva まあboolでもいいってことだな
390デフォルトの名無しさん (ワッチョイ 9f18-W5e4)
2019/03/01(金) 18:17:05.43ID:wVb5PmwP0 話そらすな
boolは予約語か違うのか
boolは予約語か違うのか
391デフォルトの名無しさん (スッップ Sdbf-x13U)
2019/03/01(金) 18:24:56.22ID:nQNJhNQvd >MISRA-Cが安全だなんて決まりはどこにもねえぞ
>コーディング基準はそれを守りさえすれば安全だなんて信じているようだが自分の頭で考えることを放棄した手合いか?
>少なくともそういうカスはPGとして普通未満だぜ
この3行が主張なわけでboolについて話してる時点で話それてないか?w
>コーディング基準はそれを守りさえすれば安全だなんて信じているようだが自分の頭で考えることを放棄した手合いか?
>少なくともそういうカスはPGとして普通未満だぜ
この3行が主張なわけでboolについて話してる時点で話それてないか?w
392383 (ワッチョイ ff2c-Im2K)
2019/03/01(金) 18:25:12.46ID:yZJ4Zkhu0 漏れが言ってるのは「実質的なbool 値」
特定の物を指していない、一般的な言語での概念
条件文に、実質的なbool 値以外を書いたら、ダメ!
品質基準から減点される
トヨタでも、100点満点中、5点しか取れなかったとか、言ってる人いる
MISRA-C 無しのC 言語は使ってはならないと、決まっている!
特定の物を指していない、一般的な言語での概念
条件文に、実質的なbool 値以外を書いたら、ダメ!
品質基準から減点される
トヨタでも、100点満点中、5点しか取れなかったとか、言ってる人いる
MISRA-C 無しのC 言語は使ってはならないと、決まっている!
393デフォルトの名無しさん (アウアウウー Sa9b-RuLt)
2019/03/01(金) 18:32:42.09ID:ber2ILYja 昔々、int bool = 0; と書いてあって普通に変数として bool が使われている夫馬ログラムを見た事がある。
394デフォルトの名無しさん (ワッチョイ ff63-3oSp)
2019/03/01(金) 18:33:26.36ID:5vu7ZTEs0 昔はintの別名でマクロ定義してたな
今は予約語だったのか
今は予約語だったのか
395デフォルトの名無しさん (アウアウウー Sa9b-RuLt)
2019/03/01(金) 18:33:54.49ID:ber2ILYja 夫馬ってなんやねんw
スマホでの打ち間違いは候補間違いもあるからより変な風になるなあ。
スマホでの打ち間違いは候補間違いもあるからより変な風になるなあ。
396さまよえる蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ d701-tIeT)
2019/03/01(金) 18:37:31.49ID:V2sWjbOV0 boolが予約語というのは聞いたことない。
<stdint.h>で使えるのは知ってるけど。
<stdint.h>で使えるのは知ってるけど。
397デフォルトの名無しさん (ワッチョイ 9f18-W5e4)
2019/03/01(金) 18:37:42.66ID:wVb5PmwP0398デフォルトの名無しさん (ワッチョイ 9f18-W5e4)
2019/03/01(金) 18:38:42.45ID:wVb5PmwP0 >>391
ほう論点が2つあるのをおまえの脳内では話がそれたと言うのか
ほう論点が2つあるのをおまえの脳内では話がそれたと言うのか
399さまよえる蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ d701-tIeT)
2019/03/01(金) 18:40:37.97ID:V2sWjbOV0400デフォルトの名無しさん (スッップ Sdbf-x13U)
2019/03/01(金) 18:41:18.61ID:nQNJhNQvd >>398
いやすまん、boolについては論点にしてないと勘違いしていた。
いやすまん、boolについては論点にしてないと勘違いしていた。
401さまよえる蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ d701-tIeT)
2019/03/01(金) 18:42:35.19ID:V2sWjbOV0 <stdbool.h>の間違いだった。すまぬ。
402デフォルトの名無しさん (スッップ Sdbf-x13U)
2019/03/01(金) 18:44:20.24ID:nQNJhNQvd またひとつ勉強になったよ
403デフォルトの名無しさん (ワッチョイ d701-WeXs)
2019/03/01(金) 18:47:58.98ID:corsBm1i0 やっぱり相変わらずみんな仲いいな。
今日も平和に通常運転。
今日も平和に通常運転。
404デフォルトの名無しさん (ワッチョイ bfe9-IBRN)
2019/03/01(金) 19:14:14.07ID:HVxvwZsK0405デフォルトの名無しさん (ワッチョイ bfe9-IBRN)
2019/03/01(金) 19:15:03.21ID:HVxvwZsK0 >>383
MISRA-C は馬鹿が使うものと聞いていますので、あなたも馬鹿の一人なんですね
MISRA-C は馬鹿が使うものと聞いていますので、あなたも馬鹿の一人なんですね
406デフォルトの名無しさん (ワッチョイ bfe9-IBRN)
2019/03/01(金) 19:16:07.43ID:HVxvwZsK0 >>385
C99 の _Bool はいろいろと残念な仕様なので、そんなものを使っていたら馬鹿呼ばわりされてもしかたがないと思います…
C99 の _Bool はいろいろと残念な仕様なので、そんなものを使っていたら馬鹿呼ばわりされてもしかたがないと思います…
407デフォルトの名無しさん (ワッチョイ bfe9-IBRN)
2019/03/01(金) 19:16:49.73ID:HVxvwZsK0 >>392
その「実質的」という単語の定義を教えていただけませんか?
その「実質的」という単語の定義を教えていただけませんか?
408デフォルトの名無しさん (ワッチョイ d701-WeXs)
2019/03/01(金) 19:18:02.41ID:corsBm1i0409デフォルトの名無しさん (ワッチョイ bfe9-IBRN)
2019/03/01(金) 19:18:18.17ID:HVxvwZsK0 >>394
C の予約語に asm が存在したことがあっても、bool なんて金輪際ございません…
C の予約語に asm が存在したことがあっても、bool なんて金輪際ございません…
410デフォルトの名無しさん (ワッチョイ bfe9-IBRN)
2019/03/01(金) 19:19:07.26ID:HVxvwZsK0 >>408
なんだか misra っていろいろうるさいですね…馬鹿が使うものの典型と理解しました
なんだか misra っていろいろうるさいですね…馬鹿が使うものの典型と理解しました
411デフォルトの名無しさん (ワッチョイ 9f18-W5e4)
2019/03/01(金) 19:20:44.13ID:wVb5PmwP0 >>406
俺もそう思う
俺もそう思う
412デフォルトの名無しさん (ワッチョイ d701-WeXs)
2019/03/01(金) 19:21:00.10ID:corsBm1i0413デフォルトの名無しさん (ブーイモ MM1b-NqO3)
2019/03/01(金) 19:24:31.92ID:WfqePbUuM >>392
Rubyガイジ死ねよ
Rubyガイジ死ねよ
414デフォルトの名無しさん (ワッチョイ 9fda-AU+X)
2019/03/01(金) 19:26:29.24ID:omZ6F1i00 実際の開発現場ではMISRA-Cも_Boolも頭の片隅に意識する(人がいる)程度であまり意味はない
そんなことより他に考えることはいくらでもある
そんなことより他に考えることはいくらでもある
>>411
久々に私の意見に賛成する人がおられましたね…
久々に私の意見に賛成する人がおられましたね…
416383 (ワッチョイ ff2c-Im2K)
2019/03/01(金) 19:56:06.23ID:yZJ4Zkhu0 essentially Boolean (実質的なブール型)
C90にはブール型はないが、真又は偽のブール値を表す式はある。
MISRA-C:2004ではこのような式をブール式と呼んで、数値を表す式と区別しており
if (hoge==TRUE)
このhoge が、実質的にはブール値なら、if (hoge) と書いてもOK
C90にはブール型はないが、真又は偽のブール値を表す式はある。
MISRA-C:2004ではこのような式をブール式と呼んで、数値を表す式と区別しており
if (hoge==TRUE)
このhoge が、実質的にはブール値なら、if (hoge) と書いてもOK
417デフォルトの名無しさん (アウアウクー MM0b-tQZn)
2019/03/01(金) 19:56:10.11ID:f15qqb/AM >>404
そういう例はやめた方がいい。二度、評価することをおかしく感じなくなる。
そういう例はやめた方がいい。二度、評価することをおかしく感じなくなる。
418デフォルトの名無しさん (ワッチョイ bfe9-IBRN)
2019/03/01(金) 19:59:51.05ID:HVxvwZsK0 >>417
マクロ関係ではないから、二度評価問題は関係ないのでは?もう少し詳しく教えていただけますか?
マクロ関係ではないから、二度評価問題は関係ないのでは?もう少し詳しく教えていただけますか?
419383 (ワッチョイ ff2c-Im2K)
2019/03/01(金) 20:02:55.75ID:yZJ4Zkhu0 2値しか取らない、真偽値という概念を作り出して、単純な数値と区別している
明瞭になるように、可読性を高めるために、明確に使い方を分けている
明瞭になるように、可読性を高めるために、明確に使い方を分けている
420デフォルトの名無しさん (アウアウウー Sa9b-RuLt)
2019/03/01(金) 20:09:43.22ID:ber2ILYja みそら・・・
421383 (ワッチョイ ff2c-Im2K)
2019/03/01(金) 20:13:59.03ID:yZJ4Zkhu0 essentially Boolean (実質的なブール型)
hoge が単純な数値なら、if (hoge) とは書けないので、
比較演算子などを使って、( )内を真偽値にしなければならないが、
hoge を2値しか取らず、実質的には真偽値として扱っているなら、そう書いてもよい
hoge が単純な数値なら、if (hoge) とは書けないので、
比較演算子などを使って、( )内を真偽値にしなければならないが、
hoge を2値しか取らず、実質的には真偽値として扱っているなら、そう書いてもよい
422デフォルトの名無しさん (ワッチョイ 37b3-tPEd)
2019/03/01(金) 20:17:31.73ID:zSE4SpXO0 >>19
なに時代だよ、trueとfalseだろ
なに時代だよ、trueとfalseだろ
423デフォルトの名無しさん (ワッチョイ 37b3-tPEd)
2019/03/01(金) 20:18:43.90ID:zSE4SpXO0424デフォルトの名無しさん (ワッチョイ 37b3-tPEd)
2019/03/01(金) 20:20:05.53ID:zSE4SpXO0 >>382
というよりtrueとfalseを使えよ
というよりtrueとfalseを使えよ
425デフォルトの名無しさん (ワッチョイ 37b3-tPEd)
2019/03/01(金) 20:21:09.40ID:zSE4SpXO0 >>385
bool だよ
bool だよ
426デフォルトの名無しさん (スプッッ Sdbf-x13U)
2019/03/01(金) 20:59:57.85ID:YTopxKYTd >>424
?
?
427デフォルトの名無しさん (ワッチョイ d701-nvQ/)
2019/03/01(金) 21:08:03.60ID:xM2kasch0 C++か他の言語か勘違いしてないかな?
C言語の枠内では(以下略
C言語の枠内では(以下略
428さまよえる蟻人間 ◆T6xkBnTXz7B0 (ワッチョイ d701-tIeT)
2019/03/01(金) 21:13:58.29ID:V2sWjbOV0 #include <stdbool.h>すれば、C言語でもbool, false, trueが使える。C99から。
429デフォルトの名無しさん (ワッチョイ d701-nvQ/)
2019/03/01(金) 21:27:08.50ID:xM2kasch0 マクロなのか 乱暴な解決法と見るか予約語にしなかった・できなかった理由があったのだろうか
430デフォルトの名無しさん (ワッチョイ bfe9-IBRN)
2019/03/01(金) 22:01:55.94ID:HVxvwZsK0 >>428
bool 型は C99 では _Bool 型となり「bool」そのままではありません
bool 型は C99 では _Bool 型となり「bool」そのままではありません
431デフォルトの名無しさん (ワッチョイ 9f18-W5e4)
2019/03/01(金) 22:19:15.38ID:wVb5PmwP0432デフォルトの名無しさん (アウアウウー Sa9b-n14O)
2019/03/01(金) 22:36:40.53ID:4P/9ohSca >>413
口調が似てると思ったら、やっぱりあいつだったのね
口調が似てると思ったら、やっぱりあいつだったのね
433デフォルトの名無しさん (ワッチョイ 9ff9-IBRN)
2019/03/02(土) 00:57:50.68ID:SIJCHEbM0 >>418
if ((n / 10 != 0) != 0) とは書かないのですか?
if (((n / 10 != 0) != 0) != 0) とは書かないのですか?
if (n / 10) で充分だろ
if ((n / 10 != 0) != 0) とは書かないのですか?
if (((n / 10 != 0) != 0) != 0) とは書かないのですか?
if (n / 10) で充分だろ
434デフォルトの名無しさん (ワッチョイ b75f-tQZn)
2019/03/02(土) 01:28:32.24ID:ixsZHls30 if文の仕様がまずかったんだよな。演算子がコマンドで数値を返すところがいまとなってはわかりにくい。
435はちみつ餃子 ◆8X2XSCHEME (ワッチョイ bf3e-3oSp)
2019/03/02(土) 02:00:30.74ID:tMatklv80 C の _Bool は完全に後付けだし、
true, false の型は int (整数リテラルの 1 や 0 に展開されるマクロ) ってのも
C らしい歴史的経緯ってやつだよねぇ……。
true, false の型は int (整数リテラルの 1 や 0 に展開されるマクロ) ってのも
C らしい歴史的経緯ってやつだよねぇ……。
436デフォルトの名無しさん (ワッチョイ 9f7c-WzxR)
2019/03/02(土) 02:41:15.96ID:LTb7iLna0 なんでもいいがboolは使った方がいいよ
キャストするとちゃんと0と1になるよ
キャストするとちゃんと0と1になるよ
437デフォルトの名無しさん (ワッチョイ b75f-tQZn)
2019/03/02(土) 03:06:19.06ID:ixsZHls30 キャストしないといけないのか
438デフォルトの名無しさん (ワッチョイ 9701-W5e4)
2019/03/02(土) 04:52:10.38ID:x2TrvqAV0 #define TRUE (1==1)
#define FALSE (!TRUE)
昔はこう書いて使ってたっけなあ
#define FALSE (!TRUE)
昔はこう書いて使ってたっけなあ
439デフォルトの名無しさん (ワッチョイ 9fda-W5e4)
2019/03/02(土) 06:31:18.66ID:uyGBCzAL0 _Bool型(stdbool.hインクルード時はboolも可)の値は0か1しか取り得ないのでわざわざキャストする必要は無い
しかしながら自分はC言語では普段は_Boolもboolもどちらも使わない
単純にintなどの数値型を0か非0かだけで判断して使ってる
尤もC++ではbool型は普通に使っているけど
https://i.imgur.com/47mIrVh.png
しかしながら自分はC言語では普段は_Boolもboolもどちらも使わない
単純にintなどの数値型を0か非0かだけで判断して使ってる
尤もC++ではbool型は普通に使っているけど
https://i.imgur.com/47mIrVh.png
440デフォルトの名無しさん (ワッチョイ d77b-vPGa)
2019/03/02(土) 06:54:46.28ID:uz1yhwTy0 >>376 を見て、久し振りに『プログラミング言語C』を開いてみたところ、
確かに p.105 に printd() って関数が載ってる(第2版)。
ここのテーマは再帰なので printd() は「1文字出力 putchar() を使って、
整数値を10進数で表示する再帰関数」の例。
話題の if (n / 10) では「n が 10 以上か」を判定してる。
直前で符号の処理をしてるので n が負ではないことは保証される。
(さらに「だだし n == INT_MIN の場合は…」に相当する注記あり)
で if (n / 10) が if ((n / 10) != 0) の意味だってことは、
p.68 第3章 制御の流れ 3.2 If-Else でさらりと説明されてるし、
その前 p.63 の条件式(三項演算子)の部分なんかにも載ってる。
たぶん他にも、あちこちで出てるんだろう。
「真と偽」みたいな独立した項目を立てた方が良かったんじゃないかな。
そうすりゃ索引からも探せるようになるし。
ついでに言えば、この場面では if (n / 10) より if (n >= 10) の方が
やってることが明解だし、処理も軽い気がするなぁ。
確かに p.105 に printd() って関数が載ってる(第2版)。
ここのテーマは再帰なので printd() は「1文字出力 putchar() を使って、
整数値を10進数で表示する再帰関数」の例。
話題の if (n / 10) では「n が 10 以上か」を判定してる。
直前で符号の処理をしてるので n が負ではないことは保証される。
(さらに「だだし n == INT_MIN の場合は…」に相当する注記あり)
で if (n / 10) が if ((n / 10) != 0) の意味だってことは、
p.68 第3章 制御の流れ 3.2 If-Else でさらりと説明されてるし、
その前 p.63 の条件式(三項演算子)の部分なんかにも載ってる。
たぶん他にも、あちこちで出てるんだろう。
「真と偽」みたいな独立した項目を立てた方が良かったんじゃないかな。
そうすりゃ索引からも探せるようになるし。
ついでに言えば、この場面では if (n / 10) より if (n >= 10) の方が
やってることが明解だし、処理も軽い気がするなぁ。
441デフォルトの名無しさん (ワッチョイ 9fda-W5e4)
2019/03/02(土) 07:05:29.88ID:uyGBCzAL0 単純に開発当時のC言語としては処理をシンプルにしてパフォーマンスを稼ぎたかったのだと思うよ
普通のCPUは0か0でないかの判断は得意だけど0か1の判断は手間が掛かる
少しでもパフォーマンスを稼ぎたい場合(現在では組込み用途など)では余計な処理は極力除くように工夫する
普通のCPUは0か0でないかの判断は得意だけど0か1の判断は手間が掛かる
少しでもパフォーマンスを稼ぎたい場合(現在では組込み用途など)では余計な処理は極力除くように工夫する
442デフォルトの名無しさん (ワッチョイ 9f18-W5e4)
2019/03/02(土) 07:30:56.47ID:0NQezXSh0443デフォルトの名無しさん (ワッチョイ ffd2-IBRN)
2019/03/02(土) 07:57:45.28ID:THGEifYn0 CPU/ハード毎に違い出るだろ。
444デフォルトの名無しさん (ワッチョイ d77b-vPGa)
2019/03/02(土) 08:01:55.04ID:uz1yhwTy0 いや、さすがに単純な整数値の大小比較と、割り算とで
どちらが速いか実測しなくちゃ分からないってのは
「実測しろ」って原則を無批判に(条件反射的に)
振りかざしてるんじゃないの?
予測は一切禁止ってルールじゃないでしょ。
どちらが速いか実測しなくちゃ分からないってのは
「実測しろ」って原則を無批判に(条件反射的に)
振りかざしてるんじゃないの?
予測は一切禁止ってルールじゃないでしょ。
445デフォルトの名無しさん (ドコグロ MMdb-dMaL)
2019/03/02(土) 09:30:10.68ID:+HGsrEwZM446デフォルトの名無しさん (ワッチョイ 9f01-dMaL)
2019/03/02(土) 09:37:08.49ID:Co1I1oSR0447デフォルトの名無しさん (アウアウウー Sa9b-mjQG)
2019/03/02(土) 10:48:59.21ID:op59Vyc6a でもcのコンパイラって割り算の時は最初に比較があって、n < 10なら比較直後に0返すんじゃなかったかな。
昔アセンブラの実習でやった気がする。
帰ったらみてみよ。
昔アセンブラの実習でやった気がする。
帰ったらみてみよ。
448デフォルトの名無しさん (ワッチョイ 9701-W5e4)
2019/03/02(土) 10:57:46.09ID:x2TrvqAV0 n / 10 と (n / 10) != 0 とで違うコード吐くとか?
オプティマイザなめんなよ
オプティマイザなめんなよ
449デフォルトの名無しさん (ワッチョイ 9fa5-JAd8)
2019/03/02(土) 11:32:55.24ID:TCm6U75d0450デフォルトの名無しさん (ワッチョイ d7f2-W5e4)
2019/03/02(土) 11:41:06.22ID:x3fQB5qB0 唯一ってw
451デフォルトの名無しさん (ワッチョイ f777-6Vjj)
2019/03/02(土) 13:58:43.76ID:S/SxCgBS0 MSゴシック以外のとこはアンチエイリアスかかってるだろ
452デフォルトの名無しさん (ワッチョイ b75f-tQZn)
2019/03/02(土) 16:14:23.72ID:ixsZHls30 >>447
割り算はコンピュータにとって簡単なことではない。人間だってそうだろ。
割り算はコンピュータにとって簡単なことではない。人間だってそうだろ。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【地震速報】青森県で震度6強 沿岸部に津波警報 ★6 [ぐれ★]
- 「日の丸にバツ印」掲げた大学生 あいまいな国旗損壊罪に「怖い」 The Mainichi [少考さん★]
- 高市内閣「支持」64%「不支持」19% NHK世論調査 ★2 [少考さん★]
- 【音楽】BARBEE BOYS・KONTAが事故で四肢麻痺を公表、新体制で活動は継続 [少考さん★]
- 高市首相「多様なコメの増産を進める」 方針転換への懸念払拭狙いか ★2 [どどん★]
- 中国「捜索レーダー起動は各国の通常の手法」 火器管制用か回答せず [蚤の市★]
- 初めて顔パックしたけど凄いなこれ
- ぺこーら、地震で同僚が次々配信を止めるなか強行し続けるので悪目立ちするwww [268244553]
- 巨大地震 [957955821]
- 胃腸弱い奴は社会的弱者←ガチ
- 【🏡】岩手ビックウェーブ🏄うおおおおおおおおおおお🌊
- 千晴の住所教えてよ!
