!extend:checked:vvvvv:1000:512
(新スレ立ての際上記コマンドを2行書き込んでください)
C言語の話題のみ取り扱います C++の話題はC++スレへ
質問には最低限の情報(ソース/コンパイラ/OS)を付ける
数行で収まらないソースは以下を適当に使ってURLを晒す
https://paiza.io/
https://ideone.com/
http://codepad.org/
C17
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4713.pdf
C11
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf
C23 最新ドラフト
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3047.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言語なら俺に聞け 162
https://mevius.5ch.net/test/read.cgi/tech/1698653580/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
C言語なら俺に聞け 163
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 7bba-Lem2)
2024/07/16(火) 22:43:54.18ID:ZrsCjURC02デフォルトの名無しさん (アウアウエー Sa02-hIhh)
2024/07/16(火) 23:09:40.55ID:zAWhziLLa O2
4デフォルトの名無しさん (ワッチョイ b132-HYxY)
2024/07/17(水) 02:16:43.37ID:rcKIBlXh05デフォルトの名無しさん (スプッッ Sda5-cSaw)
2024/07/19(金) 12:09:58.52ID:7xb1gIFBd6デフォルトの名無しさん (ワッチョイ be2d-Xdjv)
2024/08/13(火) 10:33:10.70ID:0tpsfiHy0 C99以降のC言語では、main関数が正常に終了した場合、
明示的にreturn 0;を記述しなくても、コンパイラが自動的にreturn 0;を
挿入することが規定されています。
これにより、main関数の最後にreturn文を省略することが可能になりました。
これまじ?
いや省略できるのは知ってたけど
書かなくても言語仕様的に正しいってことなのでは
明示的にreturn 0;を記述しなくても、コンパイラが自動的にreturn 0;を
挿入することが規定されています。
これにより、main関数の最後にreturn文を省略することが可能になりました。
これまじ?
いや省略できるのは知ってたけど
書かなくても言語仕様的に正しいってことなのでは
7デフォルトの名無しさん (ワッチョイ 2e2a-Fna2)
2024/08/13(火) 10:54:13.55ID:rWI8dcbL08デフォルトの名無しさん (ワッチョイ c25c-PXPr)
2024/08/13(火) 11:02:03.46ID:zgXpATPx0 C++の方は最初からそうじゃなかったっけ?
9デフォルトの名無しさん (ワッチョイ 2e63-mJNK)
2024/08/13(火) 11:04:04.36ID:iZOfVN0Y0 ところで、main以外はどうなんだろう
mainだけ特別って事なのかな?OSとも絡むし
mainだけ特別って事なのかな?OSとも絡むし
10はちみつ餃子 ◆8X2XSCHEME (ワッチョイ ed32-6HV9)
2024/08/13(火) 11:58:17.89ID:ZDyvNux60 >>9
retunr 0; が補われるルールは main だけの特別扱いだけど……。
関連する変な規則として C では関数の返却値の型が void ではないときに return せずに } に到達、かつ、関数の呼び出し元が値を使おうとするのは未定義ということになってる。
逆に言えば } に到達するだけなら OK ってことね。
C++ だと関数の返却値の型が void でないときに return せずに } に到達するだけで駄目という違いがある。
retunr 0; が補われるルールは main だけの特別扱いだけど……。
関連する変な規則として C では関数の返却値の型が void ではないときに return せずに } に到達、かつ、関数の呼び出し元が値を使おうとするのは未定義ということになってる。
逆に言えば } に到達するだけなら OK ってことね。
C++ だと関数の返却値の型が void でないときに return せずに } に到達するだけで駄目という違いがある。
11デフォルトの名無しさん (ワッチョイ 6e83-2R4J)
2024/08/13(火) 20:38:38.66ID:Yor/eSuX0 >>9
値を返さない関数ならreturnは省略できる
値を返す関数だと戻り値が不定になる
(多分コンパイルでwarningが出るか最近のではerrorになるだろうな)
そのくらい一度も試したことないのか?
値を返さない関数ならreturnは省略できる
値を返す関数だと戻り値が不定になる
(多分コンパイルでwarningが出るか最近のではerrorになるだろうな)
そのくらい一度も試したことないのか?
12デフォルトの名無しさん (アウアウエー Sa4a-ZlnX)
2024/08/14(水) 08:45:20.95ID:92pG5tQ9a CPUが最後に処理したアキュムレータの内容が
戻り値として有効になってるケースが多い
違う実装があったら教えてくれ
戻り値として有効になってるケースが多い
違う実装があったら教えてくれ
13デフォルトの名無しさん (ワッチョイ 65c8-tndV)
2024/08/14(水) 09:29:38.29ID:o5Tm+MCf0 戻さないで自動的に挿入されるのならvoidでいいやん
14デフォルトの名無しさん (ワッチョイ 6e83-2R4J)
2024/08/14(水) 16:14:28.35ID:91FNum+4015デフォルトの名無しさん (ワッチョイ 42ad-ZlnX)
2024/08/17(土) 12:40:14.00ID:P2kCpMMm016はちみつ餃子 ◆8X2XSCHEME (ワッチョイ ed32-6HV9)
2024/08/17(土) 17:19:02.88ID:w43wc/GB0 >>12
最適化が絡むとなんでも起こる。
GCC でやってみた。
https://godbolt.org/z/rzoEqdYWz
インライン化と合わさったときはおそらく
「なんでもいいなら事前に適当な定数 (この場合はゼロ) に置き換えてええやろ」ということが起こってる。
インライン化を抑止したらそのときに入ってたでたらめな値になる。
最適化が絡むとなんでも起こる。
GCC でやってみた。
https://godbolt.org/z/rzoEqdYWz
インライン化と合わさったときはおそらく
「なんでもいいなら事前に適当な定数 (この場合はゼロ) に置き換えてええやろ」ということが起こってる。
インライン化を抑止したらそのときに入ってたでたらめな値になる。
17デフォルトの名無しさん (ワッチョイ 9f2a-0AGY)
2024/08/18(日) 12:47:05.86ID:z2E2wJpW0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- パワフル女性世界3位に高市首相 米誌フォーブス選出 [蚤の市★]
- 【米FRB】0.25%利下げ決定 3会合連続、雇用下支え [蚤の市★]
- テレ朝本社から社外スタッフの男性が転落し死亡 テレビ朝日がコメント [ひかり★]
- 【S.RIDE】「忘年会の幹事ずるい」 ソニー系配車アプリの広告が物議…… 運営が謝罪「配慮に欠ける不適切な表現」掲出終了に [ぐれ★]
- アイヌ民族の「戸籍簿」がヤフオクで落札 団体「人権無視」と憤り [蚤の市★]
- 「身を切る改革」どこへ? 維新「身内」への公金支出、地方でも続々 [蚤の市★]
- 高市「野党はもう債権とか為替の話はしないで!よく分からないから答えない!」 [884040186]
- 豚汁の弱点
- 人生がつまらんやつ、130円で大根買え。
- 【悲報】教育ママ「ギャオオオオオン!息子が大麻吸ってるのお!!」⇨中3の息子を警察に突き出し全てを終わらせる [455031798]
- 【画像】東京都民「助けて!満員電車もう無理いいぃぃいいぃぃぃいいいいいぃ😭」!!!! [732289945]
- 【堂上隼人】ソフトバンク幹部「よし更生してる」→現在までに逮捕12回、レイプ被害者15人
