1 名前:デフォルトの名無しさん [2020/09/28(月) 14:41:30.00 ID:QxfbhGyV0.net] !extend:checked:vvvvv:1000:512 (新スレ立ての際上記コマンドを2行書き込んでください) C言語の話題のみ取り扱います C++の話題はC++スレへ 質問には最低限の情報(ソース/コンパイラ/OS)を付ける 数行で収まらないソースは以下を適当に使ってURLを晒す https://paiza.io/ https://ideone.com/ codepad.org/ C11 www.open-std.org/jtc1/sc22/WG14/www/docs/n1570.pdf C99 www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf kikakurui.com/x3/X3010-2003-01.html C FAQ 日本語訳 www.kouno.jp/home/c_faq/ JPCERT C コーディングスタンダード https://www.jpcert.or.jp/sc-rules/ ※前スレ C言語なら俺に聞け 155 https://mevius.5ch.net/test/read.cgi/tech/1589120427/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
82 名前:60 mailto:sage [2020/10/09(金) 07:39:39.09 ID:760t1BpC0.net] 別に主作用が値を返すこととは、思っていないから 式は値を返すけど、文は返さない。 関数も返すとは限らない 自動的に、最後に評価された値を返しても、受け取って使うとは限らない。 あまり、主作用を論じることがない 副作用は、C でも使うけど、主に関数型言語のモナド
83 名前:デフォルトの名無しさん mailto:sage [2020/10/09(金) 07:41:10.78 ID:TjErAM+z0.net] >>79 そうか、ISO/IEC 9899:2011も見つけられていないんだな pdfビューアで検索かけても「main effect」はヒットしないぞ 「side effect」は笑っちゃうくらい沢山ヒットするけど
84 名前:デフォルトの名無しさん mailto:sage [2020/10/09(金) 07:43:18.14 ID:4a3ez4RS0.net] >>75 こだわってるのはお前じゃん 必死に調査して
85 名前:デフォルトの名無しさん [2020/10/09(金) 07:47:01.31 ID:NuSz27BH0.net] >>81 たぶん、君は作用とか状態とかが何を指すかを誤解してるのだと思う。 自分も数日前までは知らなかったけど、もう理解した。
86 名前:デフォルトの名無しさん [2020/10/09(金) 07:49:33.79 ID:NuSz27BH0.net] >>82 だから?そんな話はしてない。
87 名前:デフォルトの名無しさん mailto:sage [2020/10/09(金) 07:49:48.04 ID:4a3ez4RS0.net] >>80 被害妄想で頑張っちゃうタチなんだね
88 名前:デフォルトの名無しさん [2020/10/09(金) 07:51:33.89 ID:NuSz27BH0.net] >>86 図星だったんだね
89 名前:デフォルトの名無しさん mailto:sage [2020/10/09(金) 07:54:28.94 ID:4a3ez4RS0.net] >>87 ほらもっと頑張りなよwww
90 名前:デフォルトの名無しさん mailto:sage [2020/10/09(金) 08:00:14.18 ID:oLqzRy4la.net] >>80 そういう病的で思い込みが激しいところが反感を買って、突っ込みが多いんだと思うぞ。
91 名前:デフォルトの名無しさん [2020/10/09(金) 08:00:39.91 ID:NuSz27BH0.net] はいはい
92 名前:デフォルトの名無しさん mailto:sage [2020/10/09(金) 08:09:12.19 ID:TjErAM+z0.net] >>85 > 主作用という概念に触れずに副作用というものを説明してる本が、今まで見つけられないんだが。 おまえさん、こう言ったろ? ISO/IEC 9899:2011はmain effectという概念に触れずにside effectというものを説明してるぞ おまえさんが見つけられない本を紹介してやったんだよ
93 名前:デフォルトの名無しさん [2020/10/09(金) 08:10:10.53 ID:NuSz27BH0.net] >>91 解説書じゃなく規格書だろうに。一般常識なんてわざわざ説明してるわけない。
94 名前:デフォルトの名無しさん [2020/10/09(金) 08:11:04.89 ID:NuSz27BH0.net] オライリー本(Cクイックリファレンス第二版)でも、主作用という概念に触れて副作用について説明している。 英語のwikipediaでも当然のように主作用という概念に触れた上で、副作用の説明がなされている。 逆に、主作用という概念に触れずに副作用というものを説明してる本が、今まで見つけられない。 ちなみに、規格書は解説書じゃなんだから、一般常識はいちいち書いてなくて当然。 とりあえず、C言語等の解説書で、副作用について解説がなされている本で、主作用という概念について一切触れられてない本があれば挙げてくれ。 そんな本は、図書館に行って調べたけど、一つも無かったから。もしかしたら、ごく一部にあるのかもしれないけど、まずないから。
95 名前:60 mailto:sage [2020/10/09(金) 08:16:29.40 ID:760t1BpC0.net] 副作用は、Elixir みたいな関数型言語で使うだけ。 パイプライン Ruby でも、メソッドチェーンする 副作用が怖いから、皆この手の言語では、 状態を持つな、map, map ばっかり言うw
96 名前:デフォルトの名無しさん mailto:sage [2020/10/09(金) 08:19:07.63 ID:TjErAM+z0.net] >>92 規格票は公文書だぞ どこぞの馬の骨が勝手にぬかしてることとは違うんだよ Cに於ける副作用の定義はここで定められている限りだ
97 名前:デフォルトの名無しさん [2020/10/09(金) 08:24:25.86 ID:NuSz27BH0.net] >>95 ようするに、社則に「社員は勤務中に呼吸をしなくてはならない」とは書いてないから、「社員は呼吸禁止」ですか? オライリー本その他も当然のように触れている、プログラミングの一般常識には、このスレでは触れてはダメということですか? C言語もプログラミングなのに、プログラミングの一般常識には触れてはだめですか?
98 名前:デフォルトの名無しさん mailto:sage [2020/10/09(金) 08:54:49.66 ID:Sv65jxff0.net] 少なくとも>69では「触れてはだめ」なんて話はしてないのに、どうしてそんな話になったのか。
99 名前:デフォルトの名無しさん mailto:sage [2020/10/09(金) 08:57:01.35 ID:1HKZBnpVM.net] >>91 主たる作用を指す言葉がeffectの場合もある 色々な言い方されてるから文脈から判断するといい
100 名前:デフォルトの名無しさん mailto:sage [2020/10/09(金) 09:09:51.23 ID:1HKZBnpVM.net] 仕様書のside effectは、sideでないものを念頭に置くからsideという main的なものが念頭に置かれているのを否定するやつはアホしかいない それが何かは英wikiのside effectにも書かれてあるじゃないか 次元が低すぎだろ
101 名前:デフォルトの名無しさん mailto:sage [2020/10/09(金) 09:39:01.71 ID:TjErAM+z0.net] >>96 日本語でおk
102 名前:デフォルトの名無しさん mailto:sage [2020/10/09(金) 09:41:56.88 ID:TjErAM+z0.net] >>99 wikiに頼るほどの次元の低いやつが人のことをアホとか笑っちゃうな # 俺、wikiのとある記事の筆者なんだがw
103 名前:デフォルトの名無しさん mailto:sage [2020/10/09(金) 12:48:32.11 ID:J15OmNAdM.net] 副大統領職があるので、正大統領と呼んでも意味は通じるが、普通は言わない。 それだけだ。
104 名前:デフォルトの名無しさん [2020/10/09(金) 17:02:12.86 ID:RcOsUEk40.net] ま JIS規格のは「副」作用なんやから 作用(主作用)前提でこそのワードチョイスやん そこを触れるの嫌がるって無理ありすぎやろ しまいにはwでファビョる始末
105 名前:デフォルトの名無しさん mailto:sage [2020/10/09(金) 17:37:29.96 ID:TjErAM+z0.net] 嫌がってねえ 必要性を感じねえつってんだよ 演算と副作用 これだけであらゆる説明ができる 主作用なんかいらねえ
106 名前:デフォルトの名無しさん mailto:sage [2020/10/09(金) 18:56:14.04 ID:Jq2CJneE0.net] 暇なスレだなぁ
107 名前:デフォルトの名無しさん mailto:sage [2020/10/09(金) 20:19:54.00 ID:O/EjtfR6a.net] char型配列初文字で初期化して printfしたらフフフだ わからん
108 名前:デフォルトの名無しさん [2020/10/09(金) 21:08:22.64 ID:NuSz27BH0.net] 質問があります。 副作用とは何ですか?
109 名前: mailto:sage [2020/10/09(金) 21:59:11.19 ID:GYOgwMU+0.net] 式について 「(式が持つ)値」vs「副作用」 の対立概念だと思っていました、こういうのは lisp がやりはじめたんじゃないでしょうか?
110 名前:デフォルトの名無しさん [2020/10/10(土) 01:05:22.78 ID:AL04749p0.net] 将来AR関連の仕事につきたいんですけど、初めての言語はCってどうなんでしょうか?
111 名前:デフォルトの名無しさん mailto:sage [2020/10/10(土) 05:02:23.82 ID:BjcbKuib0.net] Java入門・初心者質問スレ Part.10 https://mevius.5ch.net/test/read.cgi/tech/1585721355/686 上に書いたけど、 YouTube で
112 名前:有名な雑食系エンジニア・KENTA は、 AI をやりたいからと言って、Python から始めてはいけないと言ってる。 初心者が進む道を、サーバー側言語のRuby → Go を王道としてる Ruby以外の言語から始めると、挫折確率が高い。 ほとんどの学校も、Ruby on Rails ばっかり Rubyの女神・女優の池澤あやかも言ってる。 大学生がプログラミングを嫌いになるのは、授業でC をやるから C/C++ などのポインタ系言語は、たいてい挫折する。 ほとんどのテスト時間を、ポインタの追跡に使ってしまって、しょーもないから [] [ここ壊れてます]
113 名前:デフォルトの名無しさん [2020/10/10(土) 07:30:36.51 ID:tajpvl710.net] シェルスクリプトが一番実用性が高い。
114 名前:デフォルトの名無しさん mailto:sage [2020/10/10(土) 08:34:32.00 ID:sA7w+t8zK.net] >>106 char型配列が s[] だとして、 printf()に s[0] とか *s を渡してないか?
115 名前:デフォルトの名無しさん [2020/10/10(土) 16:25:14.09 ID:i5KfYhU+0.net] >>109 ハゲめ
116 名前:デフォルトの名無しさん mailto:sage [2020/10/10(土) 18:03:01.19 ID:NSofC8xCa.net] >>112 strで渡しました。 すみません""で囲ったら 出力されました。 一文字ずつ' 'の方法は なぜかだめだな
117 名前:デフォルトの名無しさん mailto:sage [2020/10/10(土) 19:43:45.13 ID:THhanVwl0.net] char str[] = "unko"; printf("%s", "str"); これで何か出力されたとして それは目的通りなのか?
118 名前:デフォルトの名無しさん mailto:sage [2020/10/10(土) 21:20:02.75 ID:yhyq5Xqm0.net] 可変長マクロ、... や __VA_ARGS__ に関連して、カンマが自動削除されたり する使用は、結局、統一した仕様はあるのでしょうか? __VA_OPT(,) を使う流儀と、カンマを自動削除する流儀、 実引数に , を書いた場合と書かなかった場合の違いなど、 色々有って何が標準か分かりません。
119 名前:デフォルトの名無しさん mailto:sage [2020/10/10(土) 21:36:11.71 ID:yhyq5Xqm0.net] #define aaa(fmt, ...) g(fmt __VA_OPT__(,) __VA_ARGS__) の場合、 aaa(x)とaaa(x,)でどちらも結果は同じ g(x) になるのでしょうか? そもそも、VC++では、 #define bbb(fmt, ...) g(fmt , __VA_ARGS__) としていても、 bbb(x)とbbb(x,)でどちらも結果は同じ g(x) になるのでしょうか?
120 名前:はちみつ餃子 mailto:sage [2020/10/10(土) 22:10:07.34 ID:i9YWGOdm0.net] >>72 その本を持ってないから前後の文脈はわからんけど、引用部分に関して言えば正しいよ。 「式の評価のときに副作用が起きることもある」というのは正しい。 でも、仮に「式の評価のときに値を得られる他に起きることが副作用である」と言ったら間違いだ。 C では実行環境の状態を変化させることを副作用と定義するのであって、 式評価のときに主作用 (式から値にする操作を仮にそう呼ぶとして) の他に 副作用も起こるというのは定義に付随する性質なわけ。 (C における) 副作用とは何かの「定義」に主作用という概念は絡まないんだ。 式を評価する以外の方法 (主作用が存在しない) で起こる状態変化も副作用ということになる。
121 名前:デフォルトの名無しさん mailto:sage [2020/10/10(土) 23:13:28.82 ID:BjcbKuib0.net] 厳密に言えば、++ 演算子を絡めたものは、変数自体を変更してるから副作用 b = a + 1 なら、変数a を変更していないから、副作用はない だから、Go では副作用を警戒して、 ++ 演算子は、単独の文でしか使えない。 組み合わせられない a++
122 名前:デフォルトの名無しさん mailto:sage [2020/10/10(土) 23:46:17.77 ID:xY0iDsv30.net] >>117 標準(C17/18までの時点)では可変長引数マクロが第一引数以外の場合は少なくともひとつの引数が無ければシンタックスエラーになる C++20で対応が提案(採択)されていて, 併せてCにも同じ仕様で提案されてる www.open-std.org/jtc1/sc22/wg14/www/docs/n2034.htm 現状で(標準の範囲内で)同じことをするにはかなりトリッキーな方法を使う必要がある https://stackoverflow.com/a/11172679 またはBoost.PreprocessorのBOOST_PP_VA_OPTが上記提案の__VA_OPT__の代替として使える
123 名前:デフォルトの名無しさん [2020/10/11(日) 00:07:40.75 ID:yV/54YAK0.net] >>118 相変わらず、的外れなことを言ってるなあ。 もう相手するのがめんどくさいわ。
124 名前:デフォルトの名無しさん [2020/10/11(日) 00:21:33.30 ID:yV/54YAK0.net] 君はたぶんスレを保守してる人なんだろうけどさあ、 その話はHNをわざわざ使ってる君のプライドを守るためだけの話になってるので、ここで話し合う意味がないんだよね。
125 名前:デフォルトの名無しさん mailto:sage [2020/10/11(日) 00:30:42.60 ID:u/XktDCx0.net] 相手するのがめんどくさい、プライドを守るためだけ おまいうwww
126 名前:デフォルトの名無しさん mailto:sage [2020/10/11(日) 00:45:20.99 ID:y5Dl22i00.net] ここに書き込んでいる人って、暇ですることが無い人ばかりではなかったか?
127 名前:デフォルトの名無しさん [2020/10/11(日) 00:48:15.50 ID:yV/54YAK0.net] HNをわざわざ使ってる人は必ず、批判されるとHNを使わずに自演するんだよね。 上の書き込みが自演かどうかは知らんけど、自演は必ずする。 大昔にローカルの掲示板をやってたことがあるから、HNを使う人のこの習性はよくよく知ってる。 一人残らずそうやってた。
128 名前:42 mailto:sage [2020/10/11(日) 00:54:48.93 ID:Oo+TUOYr0.net] >>42 一部誤っていたので訂正。 6.5.16 Assignment operators 3 An assignment operator stores a value in the object designated by the left operand. An assignment expression has the value of the left operand after the assignment, but is not an lvalue. The type of an assignment expression is the type the left operand would have after lvalue conversion. The side effect of updating the stored value of the left operand is sequenced after the value computations of the left and right operands. The evaluations of the operands are unsequenced. なので代入式の値は「左辺式(left operand)に右辺式(right operand)の値を代入した後の値を右辺値(rvalueの意味)として評価した値」が正しかった。
129 名前:デフォルトの名無しさん mailto:sage [2020/10/11(日) 00:55:54.98 ID:y5Dl22i00.net] HNをNGに登録し、レス書いた奴ごとアボーンすると比較的すっきりする
130 名前:デフォルトの名無しさん [2020/10/11(日) 01:44:57.79 ID:yV/54YAK0.net] >>126 意訳すれば「代入式の値は、左辺へ代入後に取り出してたら処理が無駄に重くなるから、代入直前の値を返すべき。返されるものは、左辺と同じ(値と型が)」 まあ端的に言うと、左辺が返されてると理解しとけばいいね。
131 名前:デフォルトの名無しさん mailto:sage [2020/10/11(日) 07:57:55.20 ID:Oo+TUOYr0.net] >>128 「左辺へ代入後に取り出してたら処理が無駄に重くなるから、代入直前の値を返すべき」なんて書いてない 脚注に > 111) The implementation is permitted to read the object to determine the value but is not required to, even when the object has volatile-qualified type. とはあるが, どう実装すべきなどとは書いていないのだから, それは意訳ではなくお前の意見だ
132 名前:デフォルトの名無しさん [2020/10/11(日) 08:44:36.55 ID:yV/54YAK0.net] >>129 いやく【意訳】 《名・ス他》原文の語句の一つ一つにこだわらず、全体の意味に重点をおいて訳すこと。その訳。
133 名前:デフォルトの名無しさん [2020/10/11(日) 09:21:01.70 ID:yV/54YAK0.net] あと、そういうなら、君の書いた >代入式の値は「左辺式(left operand)に右辺式(right operand)の値を代入した後の値を右辺値(rvalueの意味)として評価した値」 これだって君の意訳で意見だよね。 言葉は通じるためにある。ネット検索しても、世間一般的にも代入のことは副作用と呼んでるよね。 副作用を検索すれば「代入」という言葉が頻出する。 なので「The side effect of updating the stored value of the left operand」⇒ 代入 となる 次に、「(代入) is sequenced after the value computations of the left and right operands.」を訳すると「代入は両オペランドの値を処理後に行われる」となる。 つまり、「代入は最後に行われる」とは読めないかな? よって、返す値はその前に原則的に決まってるということ。 なので「代入した後の値を」という表現は違和感あるし、ワタスの代入直前の方が正解に近くはないかな? まあ、ワタスは、C言語の超初心者なので、君の挙げてくれた英文を周辺状況と合わせて普通に読んでるだけだけども。 そもそも論だけど、仕様書のことを述べても、実装がその通りになってるとは限らないから意味ないよね。
134 名前:デフォルトの名無しさん mailto:sage [2020/10/11(日) 09:24:54.54 ID:1n9mnEAt0.net] >>120 ご返答有難うございます。 やはり、色々と複雑なようですね。
135 名前:デフォルトの名無しさん [2020/10/11(日) 12:23:08.94 ID:kZXFoyze0.net] >>125
136 名前:デフォルトの名無しさん mailto:sage [2020/10/11(日) 15:19:35.65 ID:Ryz1amqZK.net] >>114 >一文字ずつ' 'の方法 その場合は最後に'\0'が必要
137 名前:デフォルトの名無しさん mailto:sage [2020/10/11(日) 16:59:31.64 ID:Oo+TUOYr0.net] >>131 阿呆かな? >>128 は>>126 の原文中に無く脚注で書かれている内容だしその脚注にも「左辺へ代入後に取り出してたら処理が無駄に重くなるから」などとは書かれていない > 次に、「(代入) is sequenced after the value computations of the left and right operands.」を訳すると「代入は両オペランドの値を処理後に行われる」となる。 > つまり、「代入は最後に行われる」とは読めないかな? 正しい > よって、返す値はその前に原則的に決まってるということ。 妄想 規格ではunspecified (実装の自由度) > そもそも論だけど、仕様書のことを述べても、実装がその通りになってるとは限らないから意味ないよね。 逆だろ, 処理系を指定しないなら規格に従うしかない。
138 名前:デフォルトの名無しさん [2020/10/11(日) 17:27:29.04 ID:yV/54YAK0.net] >>135 全部反論になってなくて、相手の言ってる言葉を都合のいいように解釈してるだけだね。
139 名前:デフォルトの名無しさん mailto:sage [2020/10/11(日) 17:45:12.56 ID:0ARGcdMRM.net] 反論できないことは全部反論になってないで片付けるタイプ
140 名前:135 mailto:sage [2020/10/11(日) 17:51:10.03 ID:jw/lLa/Ba.net] >>136 出先からで済まんな 妄想で仕様書を改竄する言い訳にはならんから注意しな
141 名前:デフォルトの名無しさん [2020/10/11(日) 17:52:06.99 ID:yV/54YAK0.net] 全然反論になってないし、第一、第一声が「阿呆かな?」と頭に血が昇ってる人の相手しても意味ないじゃん。
142 名前:デフォルトの名無しさん mailto:sage [2020/10/11(日) 18:39:36.02 ID:u/XktDCx0.net] 意味ないのに書き込んじゃうのはなんでだろうね?
143 名前:デフォルトの名無しさん [2020/10/11(日) 19:03:18.63 ID:yV/54YAK0.net] 結局、原則的には、返す値は代入前に決まってるよね。gccもVC++もそうみたいだし。
144 名前:デフォルトの名無しさん mailto:sage [2020/10/11(日) 19:54:22.88 ID:vwOca/6s0.net] > > そもそも論だけど、仕様書のことを述べても、実装がその通りになってるとは限らないから意味ないよね。 > 逆だろ, 処理系を指定しないなら規格に従うしかない。 同感
145 名前:デフォルトの名無しさん mailto:sage [2020/10/11(日) 20:21:00.36 ID:qb0SAJQcM.net] まぁ過去の恨みで絡むのはやめとこうな 非建設的すぎる
146 名前:デフォルトの名無しさん mailto:sage [2020/10/11(日) 21:19:40.64 ID:qb0SAJQcM.net] 一般論と規格の噛み合わない話が続いてるな 例えば日本語を表すのは大抵の処理系でshift jisかunicodeだが 一般論としてshift jisかunicodeだというと 規格として規定されてないみたいな お互いの話してる主語が違ってて噛み合わない
147 名前:デフォルトの名無しさん mailto:sage [2020/10/11(日) 21:45:50.38 ID:/f4IUzXt0.net] >>144 下段の喩えが分かりませぬ。
148 名前:デフォルトの名無しさん mailto:sage [2020/10/12(月) 17:32:23.08 ID:Fn8G8w4j0.net] ファイルオープンできない visualstudioにてfopen_s err = fopen_s(&fp,"test.txt","r");
149 名前:デフォルトの名無しさん [2020/10/12(月) 17:53:16.57 ID:941JO02hF.net] FILE *fp; なら err = fopen_s(fp,"test.txt","r");
150 名前:デフォルトの名無しさん [2020/10/12(月) 18:26:02.48 ID:YDN8KrDa0.net] ttps://qiita.com/softnakikaiya/items/dec17bd471913e1038a1 >>146 これ?
151 名前:デフォルトの名無しさん mailto:sage [2020/10/12(月) 20:07:04.33 ID:XcjAzDTUM.net] 初心者にありがちなのは相対パスを理解してなくてファイルが無いから開けないってやつ
152 名前:デフォルトの名無しさん mailto:sage [2020/10/12(月) 20:19:27.43 ID:UculHi610.net] >>146 それじゃファイル開けないよ 第二引数にファイルパス指定してくださいクソが
153 名前:デフォルトの名無しさん [2020/10/13(火) 19:59:14.31 ID:NHAZjg2T0.net] 初歩的な質問で大変恐縮ですが、 平成6年度基本情報技術者試験のC言語について質問がありまして、 https://www.rs.kagu.tus.ac.jp/infoserv/j-siken/H6b2/g11.html 問2のCですが、答えが2つありませんか? ウでもエでもどちらでも正解の気がします。 コンパイルして両方の回答で試してみましたが、問題なく動きます。 なぜ答えがウになってエではいけないのか、どなたか知恵を貸していただけませんでしょうか?
154 名前:デフォルトの名無しさん mailto:sage [2020/10/13(火) 20:23:51.05 ID:FgDiRT1ia.net] 146です。パス入力しデバッグしたら なにかわけわからんBOX でてきて思い通りになりません。
155 名前:デフォルトの名無しさん mailto:sage [2020/10/13(火) 22:42:18.30 ID:ciG+8HNI0.net] グローバル変数として宣言した変数j0とj1がmathcalls.hにもあるようで、コンパイルするとエラーが出ます ヘッダファイルを書き換えずに回避するにはどうすればいいですか? よろしくお願いします
156 名前:デフォルトの名無しさん mailto:sage [2020/10/13(火) 22:43:11.29 ID:b7C863zx0.net] >>151 エだと、60文字目と61文字目が' 'の行があるときに余分な改行が入る
157 名前:デフォルトの名無しさん mailto:sage [2020/10/14(水) 01:03:48.89 ID:9cyhkhnyp.net] モバイルC[C/C++コンパイラ]というアプリケーションを使っています do~while()文で1!+2!+…+n!が1000を超える最初のnの値を求める問題です 以下の画像のどこが間違ってるか教えて頂きたいです https://i.imgur.com/WEfqdXB.jpg
158 名前:デフォルトの名無しさん mailto:sage [2020/10/14(水) 01:22:34.34 ID:6pvowPnvM.net] どうなって欲しくてどうなってしまうかくらい書け
159 名前:デフォルトの名無しさん mailto:sage [2020/10/14(水) 02:05:50.62 ID:9cyhkhnyp.net] 14と表示されてほしいのですが実行すると以下の画像のようになります https://i.imgur.com/ztqzJy1.jpg
160 名前:デフォルトの名無しさん mailto:sage [2020/10/14(水) 03:22:45.65 ID:GZXcc9JpM.net] >>151 出題者が想定していた回答から察するに、「正しい答えを選べ」=「最適なものを選べ」という題意なんだろうね。 「エ」の場合、009〜012が必ず実行される。 「ウ」の場合、空白が連続していない場合のみ、009〜012が実行される。 なので「エ」よりも「ウ」の方が、実行時のコードが少なくなる可能性≒処理速度が速い≒より最適化されている。 ということで、「エ」を排しても「ウ」が選ばれるべき理由は説明できるけど、その逆は説明できそうになさげ
161 名前:デフォルトの名無しさん mailto:sage [2020/10/14(水) 05:08:01.62 ID:GZXcc9JpM.net] >>155 モバイルCのことは、よく知らないのだけど。 11行目を削除するか、↓のようにコメントアウト(行頭に // を追加)してみるとか。 // int fact(int n); >>157 「1!+2!+…+n!が1000を超える最初のnの値」が「14」ということなのかな。 1!+2!+3!+4!+5!+6!=873 1!+2!+3!+4!+5!+6!+7!=5913 ということで(14ではなく)7あたりが正解であるように思える、なんとなくだけどね
162 名前:デフォルトの名無しさん mailto:sage [2020/10/14(水) 05:26:43.66 ID:z5Uy/Vd30.net] 画像でコードを見せられても、テストできない paiza.IO などに書いて下さい!
163 名前:デフォルトの名無しさん [2020/10/14(水) 06:30:51.16 ID:8SMXEVrO0.net] >>154 >>158 回答ありがとうございます。 よくわかりました!
164 名前:デフォルトの名無しさん [2020/10/14(水) 10:47:06.71 ID:ssGc8zMA0.net] >>151 クソみたいなマルチポスト野郎だな 俺らはこういうゴミに手を貸してたのか 騙された気分だ C言語について質問です。平成6年度基本情報技術者試験のC言語につ... - Yahoo!知恵袋 https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12232834992
165 名前:デフォルトの名無しさん mailto:sage [2020/10/14(水) 11:51:52.20 ID:+mJN3MGTM.net] >>155 https://file3-d.kuku.lu/files/20201014-0239_c7aaeee8e9128bbdf0223997ba9de974.jpeg #include <stdio.h> int fact(int n){ if(n==1)return 1; return n*fact(n-1); } int main(void){ int n=1,a=0; while( (a+=fact(n)) <= 1000 ) n++; printf("%d", n); } 普通に7って出たけど? https://file3-d.kuku.lu/files/20201014-0239_d20849c5db09546cee5a312db4c7b83e.jpeg
166 名前:デフォルトの名無しさん mailto:sage [2020/10/14(水) 13:06:19.00 ID:8/BbynCKp.net] >>163 試したら7になりました、ありがとうございます
167 名前:デフォルトの名無しさん mailto:sage [2020/10/20(火) 01:13:51.72 ID:1WZYXiCK0.net] >>163 インデントがキモい
168 名前:デフォルトの名無しさん mailto:sage [2020/10/20(火) 08:49:06.08 ID:q8Z69frHa.net] systemのパスが通らない ファイルに入力して コンソールで表示する プログラムだが ファイルと同じパスでエラー 当方初心者
169 名前:デフォルトの名無しさん mailto:sage [2020/10/20(火) 08:55:48.28 ID:0IrscxF80.net] まずはその日本語をなんとかしろ
170 名前:デフォルトの名無しさん mailto:sage [2020/10/20(火) 09:22:30.31 ID:wzOsKsv00.net] >>166 パスって何か知ってる限り書いてみな
171 名前:デフォルトの名無しさん mailto:sage [2020/10/20(火) 10:05:35.78 ID:qYYfNILyM.net] >>165 んな事言われましても一応、HTML系の書き方なんで https://ja.m.wikipedia.org/wiki/字下げスタイル bannerスタイルは、ブロックのヘッダ部だけを字下げレベルで特別に目立たせるスタイルである。 ちょうど、K&Rスタイルでブロックの終わりの中括弧の字下げレベルを戻さないスタイルである。
172 名前:デフォルトの名無しさん mailto:sage [2020/10/20(火) 10:22:20.38 ID:wzOsKsv00.net] どっちもどっちだ 自分のスタイルと違うだけでキモいとか言い出すやつも 自分のスタイルを気に入らない人に言い訳するやつも 協調性を欠くという点で同じだ プロジェクトに参入するたびに顰蹙かうやつ
173 名前:デフォルトの名無しさん mailto:sage [2020/10/20(火) 10:32:37.64 ID:qYYfNILyM.net] 追い訳しますけど、質問者が読みやすいように 質問者のスタイルに合わせてあげたという事も忘れないで頂きたい。
174 名前:デフォルトの名無しさん mailto:sage [2020/10/20(火) 10:49:54.94 ID:2QIfR1k/H.net] 質問者がそのスタイル使ったのは最後の行だけだ 意図して使っているわけではないのに無駄にマイナーなスタイルで答えるな
175 名前:デフォルトの名無しさん [2020/10/20(火) 10:51:18.57 ID:pHiz9StDF.net] >>166 ideone.com pastebin.com
176 名前:デフォルトの名無しさん mailto:sage [2020/10/20(火) 11:18:11.29 ID:69CHk5Nl0.net] ここでは俺が無法者だ!!
177 名前:デフォルトの名無しさん mailto:sage [2020/10/20(火) 15:12:59.44 ID:aEz3U6LC0.net] 環境変数PATH なら、; 区切り。 PowerShell で以下を入力してみ $env:Path.split( ";" )
178 名前:デフォルトの名無しさん mailto:sage [2020/10/21(水) 10:15:31.31 ID:KGhWJPjI0.net] >>172 このスレにコーディング規約がある訳じゃないんだからスタイルは回答者の自由だが
179 名前:デフォルトの名無しさん [2020/10/21(水) 10:45:56.94 ID:CZ2/iovY0.net] わかったわかった お前はキモい、もうそれでいいよ キモいことを自覚してそのスタイルを使い続けてくれ 心理的にダメ、気持ち悪いんだよお前
180 名前:デフォルトの名無しさん mailto:sage [2020/10/21(水) 11:02:14.79 ID:nW5Wnc+BM.net] おまえツイッターでも文脈見ずにクソリプばっかりしてるだろ
181 名前:デフォルトの名無しさん mailto:sage [2020/10/21(水) 12:17:24.48 ID:EPxGxCCv0.net] MinGWをインスコしてあれば path | sed "s/[=;]/\n/g"
182 名前:デフォルトの名無しさん mailto:sage [2020/10/21(水) 16:41:05.37 ID:gYHxZT9P0.net] >>155 エラーメッセージからするとmain()関数内部でfact()関数の宣言を 書いていることが原因らしい。 素朴なCだと、そう書くとまだ名前が宣言されて無いグローバル関数を main()関数内部で使えるようにする意味になるが、現在のC/C++だと それぞれのコンパイラが独自に拡張したりした結果、 「(関数内部における)内部関数」なるものが使えるコンパイラが出てきたため、 意味が違ってしまっていることがある。 今の例の場合、main関数の中で後から定義するfactという名前の関数を先に 宣言する意味だとコンパイラは認識してしまっている可能性が高い。 だから、main関数の中にfact関数の関数定義が書かれて無いのでそのような エラーが出る。 もし、素朴なCのプロトタイプ宣言にしたい場合、 main()関数の外側に書くのが普通だが、なんらかの事情でmain()関数の内側に 書きたい場合には、 int main(void){ extern int fact(int n); ・・・ } のようにexternキーワードを書くと通ることがあるかも知れない。