!extend:checked:vvvvv:1000:512
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言語なら俺に聞け 151
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ cf8f-fy95)
2019/04/02(火) 11:23:37.62ID:SQXqRaAc0122デフォルトの名無しさん (ワッチョイ 8b8f-ofH2)
2019/04/11(木) 00:04:19.55ID:SPJO7XdY0 >>121
> 例文:You shall die.
> 超訳:「死ね!」
さすがにそれは…
日本語の文章の方に "shall" は書かれてなかったもんで把握、と
示唆したつもりだったのですが、通じなかったようで、表現力につき反省する所しきりであります
> 例文:You shall die.
> 超訳:「死ね!」
さすがにそれは…
日本語の文章の方に "shall" は書かれてなかったもんで把握、と
示唆したつもりだったのですが、通じなかったようで、表現力につき反省する所しきりであります
123デフォルトの名無しさん (ワッチョイ d901-LJPv)
2019/04/11(木) 00:44:10.66ID:Nah1Abkj0 I shall return 0.
124デフォルトの名無しさん (ワッチョイ fb02-XGqV)
2019/04/11(木) 01:53:26.52ID:5ienNbe20 *'``・* 。
| `*。
,。∩彡⌒ミ * みんなハゲにな〜れ
+ (´・ω・`) *。+゚
`*。 ヽ、 つ *゚*
`・+。*・' ゚⊃ +゚
☆ ∪~ 。*゚
`・+。*・ ゚
| `*。
,。∩彡⌒ミ * みんなハゲにな〜れ
+ (´・ω・`) *。+゚
`*。 ヽ、 つ *゚*
`・+。*・' ゚⊃ +゚
☆ ∪~ 。*゚
`・+。*・ ゚
125デフォルトの名無しさん (ワッチョイ 392d-XGqV)
2019/04/11(木) 07:54:50.71ID:YCq7KtVA0 >>118
4. 規格合致性
規格厳密合致プログラム(strictly conforming program)は,この規格で規定する言語機能及びライブラリ
だけを使用しなければならない(2)。さらに,いかなる未規定の動作,未定義の動作又は処理系定義の動作に依存する出力も生成してはならず,しかもどのような最低限の処理系限界も超えてはならない。
(2)規格厳密合致プログラムは,どの処理系でもサポートしているわけではない機能(附属書 F の中に例
がある。)を使うことができる。ただし,その機能を使うことができるのは,それが適切なマクロをもつ#ifdef 指令とそれに対応する#endif 指令とに囲まれている場合に限る。次に示すプログラム片がその例である。
#ifdef _ _STDC_IEC_559_ _ /* FE_UPWARD
が定義されている */
/* ... */
fesetround(FE_UPWARD);
/*
... */
#endif
4. 規格合致性
規格厳密合致プログラム(strictly conforming program)は,この規格で規定する言語機能及びライブラリ
だけを使用しなければならない(2)。さらに,いかなる未規定の動作,未定義の動作又は処理系定義の動作に依存する出力も生成してはならず,しかもどのような最低限の処理系限界も超えてはならない。
(2)規格厳密合致プログラムは,どの処理系でもサポートしているわけではない機能(附属書 F の中に例
がある。)を使うことができる。ただし,その機能を使うことができるのは,それが適切なマクロをもつ#ifdef 指令とそれに対応する#endif 指令とに囲まれている場合に限る。次に示すプログラム片がその例である。
#ifdef _ _STDC_IEC_559_ _ /* FE_UPWARD
が定義されている */
/* ... */
fesetround(FE_UPWARD);
/*
... */
#endif
126デフォルトの名無しさん (ワッチョイ 2969-5LTE)
2019/04/11(木) 09:09:31.46ID:AbBe4c020 RFCなんかである要請の強度( MUST SHALL MAY ) みたいに使う用語の縛りはない?
>>122
あくまで私見ですが、現代英語では will に単純に置き換えられるような shall の使い方はもうありえなく、
shall を使うのは shall を使う必然性があるから、だから、shall は辞書でいうところの「意志未来」であり、したがって shall を訳出しないのは不誠実な訳だとどうしても私は感じてしまいます…
あくまで私見ですが、現代英語では will に単純に置き換えられるような shall の使い方はもうありえなく、
shall を使うのは shall を使う必然性があるから、だから、shall は辞書でいうところの「意志未来」であり、したがって shall を訳出しないのは不誠実な訳だとどうしても私は感じてしまいます…
128デフォルトの名無しさん (ワッチョイ 8b8f-ofH2)
2019/04/11(木) 21:23:32.90ID:SPJO7XdY0 「英文読解」の場ではなかったので控えていたのですが
>>127
個人的には「こんなのを訳出させられた人は凄い」と思ってます
「原典は英語で日本語訳がある」もので「日本語訳が意味不明」の場合
原典で確認すると「訳出で明確ではない」部分が確認できるケースが多々あります
"shall" をどのように訳出するかは個人差ありますし
今回の箇所が「以前同じ文言があったので単純にコピペした」ものかどうかは確認していません
もちろん>>126さんが仰るように「強度の要請で助動詞を変える」ものもありえますが
C99の文書の場合は丁寧に "shall" の定義から書かれていますし、
何より "strictly conforming program" という表現は、明確に 4.5 での新情報です
>>127
個人的には「こんなのを訳出させられた人は凄い」と思ってます
「原典は英語で日本語訳がある」もので「日本語訳が意味不明」の場合
原典で確認すると「訳出で明確ではない」部分が確認できるケースが多々あります
"shall" をどのように訳出するかは個人差ありますし
今回の箇所が「以前同じ文言があったので単純にコピペした」ものかどうかは確認していません
もちろん>>126さんが仰るように「強度の要請で助動詞を変える」ものもありえますが
C99の文書の場合は丁寧に "shall" の定義から書かれていますし、
何より "strictly conforming program" という表現は、明確に 4.5 での新情報です
129デフォルトの名無しさん (トンモー MM4d-Ouf2)
2019/04/13(土) 04:36:48.17ID:/Uq84pFNM 昔の話。
若い頃K&Rの日本語版を買ってきて読み始めて、
間違いというか
サンプルとしてよろしくない
ところを見つけていた。
それが7年後に役立って
沢山仕事が入ってくるようになった。
本はキチンと読みましょう!
若い頃K&Rの日本語版を買ってきて読み始めて、
間違いというか
サンプルとしてよろしくない
ところを見つけていた。
それが7年後に役立って
沢山仕事が入ってくるようになった。
本はキチンと読みましょう!
130デフォルトの名無しさん (ワッチョイ 298f-Glgm)
2019/04/13(土) 12:55:05.18ID:hvrKDDfY0131デフォルトの名無しさん (ササクッテロ Sp85-Sq8Y)
2019/04/14(日) 04:54:50.50ID:jIyXk5jhp You shall die.
日本語の古語にすると分かりやすい
汝死すべし
shallはべしに近い
日本語の古語にすると分かりやすい
汝死すべし
shallはべしに近い
>>131
「べし」が二人称主語のときは「当然〜するべき」「義務」をあらわすことが多いですね
ただしこの場合も、主観的な意見の場合・客観的な義務の場合の両方がありうるかもしれません
shall=べき、べし、というのはいい線いっていると思います
「べし」が二人称主語のときは「当然〜するべき」「義務」をあらわすことが多いですね
ただしこの場合も、主観的な意見の場合・客観的な義務の場合の両方がありうるかもしれません
shall=べき、べし、というのはいい線いっていると思います
133デフォルトの名無しさん (ワッチョイ 597b-/1Ht)
2019/04/14(日) 06:22:08.07ID:JgI3yl/w0 日常会話や文学なら "You shall die." を「汝死すべし」と訳して
原文のもつ「お前死んだ方がいいよ」と「お前はいつか死ぬであろう」の
両方のニュアンス(他の解釈もあるかも)を残すってのはアリだと思うけど、
技術的な文章では、複数の意味に取れる書き方はしないでしょ。
翻訳の読者が欲しい情報も、原文がどちらを意図してるのか、だろうし。
原文のもつ「お前死んだ方がいいよ」と「お前はいつか死ぬであろう」の
両方のニュアンス(他の解釈もあるかも)を残すってのはアリだと思うけど、
技術的な文章では、複数の意味に取れる書き方はしないでしょ。
翻訳の読者が欲しい情報も、原文がどちらを意図してるのか、だろうし。
134デフォルトの名無しさん (ワッチョイ 39ab-FipA)
2019/04/14(日) 06:41:56.55ID:Sc1FWDft0 shall
〜するものとする。
〜するものとする。
135デフォルトの名無しさん (ワッチョイ 1301-EjgJ)
2019/04/14(日) 08:56:50.49ID:/sR0LrTu0 ISO9001の要求事項とか見たことないのか?
Shall: しなければいけない
Should: した方が良い
って訳すのは常識だぞ
Shall: しなければいけない
Should: した方が良い
って訳すのは常識だぞ
137デフォルトの名無しさん (ワッチョイ b952-XGqV)
2019/04/14(日) 09:43:00.26ID:zcg/ytHt0 英会話スレ
138デフォルトの名無しさん (ワッチョイ 298f-Glgm)
2019/04/14(日) 09:54:03.65ID:/V8zrPr00 一年程度だが海外で仕事した経験のある俺にコメントさせてくれ。
shallにとくに意味はない。日本語に訳すのは難しいが方向性でいえば
汝死ぬ(shallなし)
↓
汝はねぇ死ぬよ(shallあり)
かな。
つまり特に意味はない。特に強調してるわけでもないけど、つまり断定か。
shallにとくに意味はない。日本語に訳すのは難しいが方向性でいえば
汝死ぬ(shallなし)
↓
汝はねぇ死ぬよ(shallあり)
かな。
つまり特に意味はない。特に強調してるわけでもないけど、つまり断定か。
139デフォルトの名無しさん (ワッチョイ b952-XGqV)
2019/04/14(日) 10:09:12.15ID:zcg/ytHt0 余計分かりにくい
140デフォルトの名無しさん (ワッチョイ 1301-EjgJ)
2019/04/14(日) 10:38:07.79ID:/sR0LrTu0142デフォルトの名無しさん (ワッチョイ 298f-Glgm)
2019/04/14(日) 11:15:43.43ID:/V8zrPr00 いや、ほんとに意味はないんだよ。書き手がなんか気持ち悪いからshallつけてるだけでshall抜きでもかわらん。
willとかshouldに比べてshallどうとかじゃなくて、willとかshouldがなかったらどうかを考えるべき。
willとかshouldに比べてshallどうとかじゃなくて、willとかshouldがなかったらどうかを考えるべき。
143デフォルトの名無しさん (ワッチョイ 695f-26O/)
2019/04/14(日) 11:36:05.15ID:xBNIHV910 そもそも他言語を日本語で正確に訳せるってのは幻想でしかないから
規格でshallやshall notについて扱いが明記されてる(C11なら4.1〜4.2)以上それが全てでしょ
規格でshallやshall notについて扱いが明記されてる(C11なら4.1〜4.2)以上それが全てでしょ
144デフォルトの名無しさん (ドコグロ MMbd-EjgJ)
2019/04/14(日) 11:56:00.83ID:CLAWTkIiM145デフォルトの名無しさん (ワッチョイ 818f-ofH2)
2019/04/14(日) 12:01:14.41ID:El+pt49w0 >>128
> 「英文読解」の場ではなかったので控えていたのですが
(中略)
> C99の文書の場合は丁寧に "shall" の定義から書かれています
これ以上、「C言語のスレ」として、どんな話題あるんですか
「ANSI C(なりC90なり)」「C95」「C11」を持ち出すなら意味があるかも知れませんが?
> 「英文読解」の場ではなかったので控えていたのですが
(中略)
> C99の文書の場合は丁寧に "shall" の定義から書かれています
これ以上、「C言語のスレ」として、どんな話題あるんですか
「ANSI C(なりC90なり)」「C95」「C11」を持ち出すなら意味があるかも知れませんが?
146デフォルトの名無しさん (ワッチョイ 695f-26O/)
2019/04/14(日) 12:28:26.87ID:xBNIHV910 あと、そんなに辞書が好きならshallに「(法律・商業)〜(すべき)である, 〜(するもの)とする, 〜のこと」ってあるからそれが一番近いと思うよ
>>144
その百人一首の上の句と下の句をつなげるように日本語と英語の一対一対応を増やしていくスタイルは、カルタが少ないうちはいいけれども腐るほど多くなったときに困りませんか?
でも、最終的には慣れればなれるほど自動的に丸暗記になるのだろうから(私も「you shall die =死ね」状態なのは事実)、語学に理屈付けは不要なのかもしれませんね…
その百人一首の上の句と下の句をつなげるように日本語と英語の一対一対応を増やしていくスタイルは、カルタが少ないうちはいいけれども腐るほど多くなったときに困りませんか?
でも、最終的には慣れればなれるほど自動的に丸暗記になるのだろうから(私も「you shall die =死ね」状態なのは事実)、語学に理屈付けは不要なのかもしれませんね…
148デフォルトの名無しさん (ワッチョイ 115f-XGqV)
2019/04/17(水) 17:36:41.54ID:LDzja3MF0 C95って何?
ああAMD1のことか、一瞬ぎくっとした
しかしあの文脈では、それを言うならC99だろ
ああAMD1のことか、一瞬ぎくっとした
しかしあの文脈では、それを言うならC99だろ
149デフォルトの名無しさん (アウアウウー Sa5d-clLQ)
2019/04/17(水) 19:18:17.08ID:xaCKxF64a C言語で、配列を渡すときは&付けなくていいとありましたが
scanf("%c", &array[i][j]);
このときに&つけなならんのはなんでですか
cだとつけるのか二次元配列だとつけなきゃならないのか(根本的にわかってないかも)
そこら変詳しくおしえてもらえませんか
scanf("%c", &array[i][j]);
このときに&つけなならんのはなんでですか
cだとつけるのか二次元配列だとつけなきゃならないのか(根本的にわかってないかも)
そこら変詳しくおしえてもらえませんか
150はちみつ餃子 ◆8X2XSCHEME (ワッチョイ 7b3e-clLQ)
2019/04/17(水) 19:46:08.34ID:UWuCQ9XR0 >>149
配列は、条件を満たしたとき (というより条件を満たす場合の方が多いのだが……) にその先頭要素を指すポインタに型変換されるという特殊ルールがあるから。
配列 array を単に array と書いた場合には、 &array[0] に読み替えられると考えてもいい。
配列 array に & を付けて &array と書いた場合は「配列を指すポインタ」であって、「配列の先頭要素を指すポインタ」ではないことにも注意が要る。 (型が違う)
そのあたりのルールは歴史的経緯があってややこしいんだけど、この規則がないとそれはそれで記述がぐちゃぐちゃになるんでな……。
配列は、条件を満たしたとき (というより条件を満たす場合の方が多いのだが……) にその先頭要素を指すポインタに型変換されるという特殊ルールがあるから。
配列 array を単に array と書いた場合には、 &array[0] に読み替えられると考えてもいい。
配列 array に & を付けて &array と書いた場合は「配列を指すポインタ」であって、「配列の先頭要素を指すポインタ」ではないことにも注意が要る。 (型が違う)
そのあたりのルールは歴史的経緯があってややこしいんだけど、この規則がないとそれはそれで記述がぐちゃぐちゃになるんでな……。
151デフォルトの名無しさん (ワッチョイ 09da-La48)
2019/04/17(水) 20:36:55.41ID:VoxdaNRv0152デフォルトの名無しさん (ワッチョイ 115f-XGqV)
2019/04/17(水) 23:51:24.14ID:LDzja3MF0 >>149
[]は、配列を、配列でなくす(要素にする)演算子だからだ
[]は、配列を、配列でなくす(要素にする)演算子だからだ
153デフォルトの名無しさん (ワッチョイ 0901-Ce13)
2019/04/18(木) 04:53:03.15ID:3hgPbfMt0 文字列とscanf
154デフォルトの名無しさん (ワッチョイ 697b-Xu0i)
2019/04/18(木) 06:35:48.92ID:gmBt4t3M0 文字列(Cでは'\0'終端のchar配列)を格納できる変数 char s[SIZE]; に対して、
文字列を格納したい場合は
scanf("%s", s); // 連続したメモリ領域 s[0], s[1], s[2] ... に格納
配列名 s は &s[0](配列の先頭要素へのポインタ)と、値と型が等しい
1文字だけ格納したい場合は
scanf("%c%c", &[0], &s[1]); // s[0] と s[1] に1字ずつ格納
&s[0] は s と同じだが、 &s[1] との対応から &s[0] と書く方が分かりやすい
「配列名が暗黙に先頭要素へのポインタに変換される」話と、
「何を操作しているかをソースの書き方で明瞭に表現しようぜ」って話と、
整頓されずに混乱してるんじゃないかな。
「Cでは“文字列”とは何か」も絡んでるかも。
それに加えて、2次元配列という、これまたCではやや微妙な問題が噛んでるし。
char array[ROW][COLUMN]; // charの2次元配列
char *array[LINE]; // charへのポインタの1次元配列
>>149 の質問では二次元配列と明記されてるから本質じゃないけど、
説明を厳密にしようとすると、触れないのは片手落ちになっちゃうよね。
& 演算子でアドレスを得るときの内部的な処理の周辺。
文字列を格納したい場合は
scanf("%s", s); // 連続したメモリ領域 s[0], s[1], s[2] ... に格納
配列名 s は &s[0](配列の先頭要素へのポインタ)と、値と型が等しい
1文字だけ格納したい場合は
scanf("%c%c", &[0], &s[1]); // s[0] と s[1] に1字ずつ格納
&s[0] は s と同じだが、 &s[1] との対応から &s[0] と書く方が分かりやすい
「配列名が暗黙に先頭要素へのポインタに変換される」話と、
「何を操作しているかをソースの書き方で明瞭に表現しようぜ」って話と、
整頓されずに混乱してるんじゃないかな。
「Cでは“文字列”とは何か」も絡んでるかも。
それに加えて、2次元配列という、これまたCではやや微妙な問題が噛んでるし。
char array[ROW][COLUMN]; // charの2次元配列
char *array[LINE]; // charへのポインタの1次元配列
>>149 の質問では二次元配列と明記されてるから本質じゃないけど、
説明を厳密にしようとすると、触れないのは片手落ちになっちゃうよね。
& 演算子でアドレスを得るときの内部的な処理の周辺。
155デフォルトの名無しさん (ワッチョイ 555f-YIQo)
2019/04/18(木) 06:48:49.78ID:o0KoJkQh0 &[0]なんて構文ねえよ
よりにもよって、そんなとこtypoしちまったら致命傷だろうが
よりにもよって、そんなとこtypoしちまったら致命傷だろうが
156154 (ワッチョイ 697b-Xu0i)
2019/04/18(木) 07:30:33.11ID:gmBt4t3M0 ありゃ本当だ。&[0] は誤りだね。ご指摘ありがとう。
誤: scanf("%c%c", &[0], &s[1]); // s[0] と s[1] に1字ずつ格納
正: scanf("%c%c", &s[0], &s[1]); // s[0] と s[1] に1字ずつ格納
誤: scanf("%c%c", &[0], &s[1]); // s[0] と s[1] に1字ずつ格納
正: scanf("%c%c", &s[0], &s[1]); // s[0] と s[1] に1字ずつ格納
157デフォルトの名無しさん (ワッチョイ d952-YIQo)
2019/04/19(金) 12:12:59.76ID:Nwj37sNi0 C言語ってarray[3]だけじゃなくて3[array]もできるんだね
[]が演算子って今更知った
[]が演算子って今更知った
158はちみつ餃子 ◆8X2XSCHEME (ワッチョイ f63e-JNgg)
2019/04/19(金) 12:21:05.01ID:mypEidUJ0 >>157
array[3] は *(array+3) と等しい、構文糖であるということになっているので結果的にそうなった。
array[3] は *(array+3) と等しい、構文糖であるということになっているので結果的にそうなった。
159デフォルトの名無しさん (アウアウウー Sacd-kBNU)
2019/04/19(金) 12:39:59.72ID:U46FCs4Qa かといってそんな書き方してるプログラムはサンプルプログラム以外では見たことがない。
160デフォルトの名無しさん (ワッチョイ 193f-YIQo)
2019/04/19(金) 12:58:54.90ID:8C7kRl9M0161デフォルトの名無しさん (スップ Sd12-fGro)
2019/04/19(金) 15:31:03.70ID:y1N4KfNld >>157
コレ好き。たまーに混ぜ込んでおいてレビュー担当迷わせるの楽しい。
コレ好き。たまーに混ぜ込んでおいてレビュー担当迷わせるの楽しい。
162デフォルトの名無しさん (オイコラミネオ MM91-cxay)
2019/04/19(金) 16:22:40.20ID:t0MiT6LCM >>161
作法違反で低評価になるだけじゃねw
作法違反で低評価になるだけじゃねw
163デフォルトの名無しさん (ワッチョイ 193f-YIQo)
2019/04/19(金) 16:50:40.06ID:8C7kRl9M0 スキルの使い途を間違えているな
弱い者いじめではなく生産に使え
チーム得点につながらない無駄なことをするやつを
上司は冷ややかに見ているぞ
弱い者いじめではなく生産に使え
チーム得点につながらない無駄なことをするやつを
上司は冷ややかに見ているぞ
164デフォルトの名無しさん (ワッチョイ b18f-fGro)
2019/04/19(金) 17:06:38.82ID:GSI3q7h60 初めて5[a]がOKなんだと知ったときの感動を思い出せ。そんな感動と興奮を仕事に散りばめてくれるエンターテイナーだよ。
165デフォルトの名無しさん (ワッチョイ b18f-fGro)
2019/04/19(金) 17:07:35.94ID:GSI3q7h60 buf[5[buf]]
166デフォルトの名無しさん (ブーイモ MMd5-M3sR)
2019/04/19(金) 19:15:23.29ID:g/tNuT86M Cに配列なんて概念なくて、
配列宣言っぽく見えるのはポインタ宣言とallocaの構文糖だという
言語だったらよかったのに。
配列宣言っぽく見えるのはポインタ宣言とallocaの構文糖だという
言語だったらよかったのに。
167デフォルトの名無しさん (ワッチョイ 193f-YIQo)
2019/04/19(金) 22:01:37.69ID:8C7kRl9M0 いや、それは困る
ポインタが指す先の実体は
いつかどこかで配列になれなきゃ話が発散してしまう
ポインタが指す先の実体は
いつかどこかで配列になれなきゃ話が発散してしまう
168デフォルトの名無しさん (アウアウエー Sada-aFPd)
2019/04/19(金) 22:17:39.05ID:jGjLpvILa だから、これは配列ではないという結論になる
169デフォルトの名無しさん (ワッチョイ a901-HmQt)
2019/04/19(金) 23:18:20.25ID:UowN6RnT0 "0123456789abcdef"[n % 10]
170デフォルトの名無しさん (ワッチョイ 193f-YIQo)
2019/04/19(金) 23:34:23.62ID:8C7kRl9M0 アホ
n % 16だろうが
n % 16だろうが
171デフォルトの名無しさん (ワッチョイ b18f-fGro)
2019/04/20(土) 00:07:20.17ID:WPUlIDDo0 >>169
つよい
つよい
172デフォルトの名無しさん (ワッチョイ 3602-YIQo)
2019/04/20(土) 01:30:17.77ID:2mEBnGIe0 早く配列になりたい
173デフォルトの名無しさん (ワッチョイ 69ad-61/s)
2019/04/20(土) 12:04:07.28ID:adBHY6Cw0 忙しかったものですから、ウルトラ亀レスで申し訳ありません。
もちろんK&Rは良い本だとは思いますが、
よくないところがあると書きましたら、「それどこですか?」
のような質問がきていたのですが、仕事に忙殺されてレスが遅くなりました。
例えば、K&Rのハッシュ探索のプログラム。
ソースを見ればバグがあるとすぐわかるはずです。
K&Rのソースは単なるサンプルです。
仕事で実際に使えるわけではありませんし、
吐き出すハッシュ値をチェックしてみてください。
そのソースをF社の東大卒のプログラマがパッケージに組み込んでしまい、
大きなバグを引き起こしました。
で、俺が呼ばれてソースを見た瞬間に原因がわかって直しました。
K&Rを読んだときに気が付いていたからです。
K&Rを読んだときに、気が付く人はすぐ気が付いていると思います。
自分で考える人です。
本当のプログラマです。
もちろんK&Rは良い本だとは思いますが、
よくないところがあると書きましたら、「それどこですか?」
のような質問がきていたのですが、仕事に忙殺されてレスが遅くなりました。
例えば、K&Rのハッシュ探索のプログラム。
ソースを見ればバグがあるとすぐわかるはずです。
K&Rのソースは単なるサンプルです。
仕事で実際に使えるわけではありませんし、
吐き出すハッシュ値をチェックしてみてください。
そのソースをF社の東大卒のプログラマがパッケージに組み込んでしまい、
大きなバグを引き起こしました。
で、俺が呼ばれてソースを見た瞬間に原因がわかって直しました。
K&Rを読んだときに気が付いていたからです。
K&Rを読んだときに、気が付く人はすぐ気が付いていると思います。
自分で考える人です。
本当のプログラマです。
174デフォルトの名無しさん (スプッッ Sd12-fGro)
2019/04/20(土) 13:35:25.67ID:UeTDxeBdd >>173
自分で考えるのが良いってのは、プログラマに限らずなんでもそうだよね。
その上で本当のプログラマとやらにもとめられるのは、考えて理解することよりバグを出さないテストを行う能力だと思うね。
考えてもミスる時はミスるし。
場数を踏んだプログラマは、もちろんちゃんと考えるけど、その上で自分の理解やコードを信じない。
ちょっと話が違うかな。
自分で考えるのが良いってのは、プログラマに限らずなんでもそうだよね。
その上で本当のプログラマとやらにもとめられるのは、考えて理解することよりバグを出さないテストを行う能力だと思うね。
考えてもミスる時はミスるし。
場数を踏んだプログラマは、もちろんちゃんと考えるけど、その上で自分の理解やコードを信じない。
ちょっと話が違うかな。
175デフォルトの名無しさん (ワッチョイ 0d5f-YIQo)
2019/04/20(土) 18:04:05.64ID:YpwC1XIf0 >>173
それはK&Rのよくないところか?
K&RはCとはどんな趣旨のものかを紹介する本で
アルゴリズムを正確に教える本ではない
単にCの機能を説明するために例を挙げただけのナンチャッテコードを
いきなり本番環境に持っていった東大卒とかぬかすやる気のねえクズと
大きな事故に至るまで欠陥を検出できない会社の検証ルールの問題だろうが
それはK&Rのよくないところか?
K&RはCとはどんな趣旨のものかを紹介する本で
アルゴリズムを正確に教える本ではない
単にCの機能を説明するために例を挙げただけのナンチャッテコードを
いきなり本番環境に持っていった東大卒とかぬかすやる気のねえクズと
大きな事故に至るまで欠陥を検出できない会社の検証ルールの問題だろうが
176デフォルトの名無しさん (ワッチョイ 368c-HmQt)
2019/04/20(土) 18:21:44.59ID:rZAwW+3j0 在るプログラムを作るのは間違い。買うのが正しい。
177デフォルトの名無しさん (ワッチョイ 5587-imD6)
2019/04/21(日) 00:16:47.67ID:NOPBo00z0 買ったもの、存在するものが四角い車輪だけだったとしてもか?
178デフォルトの名無しさん (ワッチョイ 5e63-JNgg)
2019/04/21(日) 00:25:39.70ID:sE/qbOcV0 買ったもの、つまり売っているものは、自作したものよりも性能がいい
179デフォルトの名無しさん (アウアウウー Sacd-cxay)
2019/04/21(日) 05:49:28.91ID:HT/hFmaDa Cできる人は(ここの住人のような)C++も当たり前にできるん?
180デフォルトの名無しさん (ワッチョイ 19ab-Gvo/)
2019/04/21(日) 06:09:41.42ID:znB8VhQa0 >>179
会社に今までC一筋20年くらいの人がC ++のプロジェクトに来たんだが使えなさすぎてクソワロタ
会社に今までC一筋20年くらいの人がC ++のプロジェクトに来たんだが使えなさすぎてクソワロタ
181デフォルトの名無しさん (ワッチョイ 0d5f-YIQo)
2019/04/21(日) 06:45:11.14ID:XP3sT+Yd0182デフォルトの名無しさん (ワッチョイ 12a5-GXKd)
2019/04/21(日) 08:31:58.96ID:nzBarAq00 もしかしてCのライブラリのソースコード全部読んでんの
アホじゃね
アホじゃね
183デフォルトの名無しさん (ワッチョイ 69ad-61/s)
2019/04/21(日) 10:26:51.61ID:gW8lsVjX0 >>175
173です。
おっしゃるとおりです。
俺の言いたかったのは、まあそういう感じです。
K&Rの信奉者があまりに多いので
どゆふうに指摘していいのか困惑している次第です。
つまり、言語の紹介本としては良い本だと思いますけど、
それ以上ではない。
現在、英語版のK&Rしか私の本棚に見つからないけど、
PREFACEの15行目からは、
This book is meant to help the reader learn how to program in C.
と始まっています。
この部分、日本語版にはどのように翻訳されていたか失念しましたが、
まさに、そのとおりなのです。
しかし、ハッシュ値のところですけど、
あと数文字をコーディングするだけでまともなコードになるのに、
なぜしなかったのか?という疑問はあります。
173です。
おっしゃるとおりです。
俺の言いたかったのは、まあそういう感じです。
K&Rの信奉者があまりに多いので
どゆふうに指摘していいのか困惑している次第です。
つまり、言語の紹介本としては良い本だと思いますけど、
それ以上ではない。
現在、英語版のK&Rしか私の本棚に見つからないけど、
PREFACEの15行目からは、
This book is meant to help the reader learn how to program in C.
と始まっています。
この部分、日本語版にはどのように翻訳されていたか失念しましたが、
まさに、そのとおりなのです。
しかし、ハッシュ値のところですけど、
あと数文字をコーディングするだけでまともなコードになるのに、
なぜしなかったのか?という疑問はあります。
184デフォルトの名無しさん (ワッチョイ b18f-fGro)
2019/04/21(日) 10:42:02.64ID:ZEQClH310 プログラマなんて正常な判断ができないような過酷な状況に追いやられることなんてよくあるし、想像の余地はいろいろあるな。
185デフォルトの名無しさん (トンモー MMd5-+96b)
2019/04/21(日) 10:51:08.83ID:MDootfcvM186デフォルトの名無しさん (アウアウエー Sada-aFPd)
2019/04/21(日) 11:08:55.42ID:gKcyDuy9a Cでインターフェース・抽象性を意識したプログラムを書いてたらそんなに変わらんと思う。
ただ現実としては委譲を使ってたところから無理して継承に適応するために混乱することはある。現場で待っているのは神クラス。
ただ現実としては委譲を使ってたところから無理して継承に適応するために混乱することはある。現場で待っているのは神クラス。
187デフォルトの名無しさん (ブーイモ MMa6-ku7y)
2019/04/21(日) 12:18:59.87ID:+Seww2xKM まるで別物と思うわ。
ただ仕事で使う分にはみなjavaと同程度の構文しか使ってないから、違いはさほどないと感じるかも
ただ仕事で使う分にはみなjavaと同程度の構文しか使ってないから、違いはさほどないと感じるかも
188デフォルトの名無しさん (ワッチョイ b18f-fGro)
2019/04/21(日) 13:49:17.56ID:ZEQClH310 仕事以外でC++使うなんてドMでしょw
189デフォルトの名無しさん (ラクペッ MM81-1KF1)
2019/04/21(日) 13:55:23.49ID:7uFZhwV3M C言語で開発しているのも大概だけどなw
190デフォルトの名無しさん (ワッチョイ 09dc-YIQo)
2019/04/21(日) 14:18:53.79ID:P3URCDUY0 仕事以外でプログラミングすること自体がドMの極みw
191デフォルトの名無しさん (トンモー MMd5-+96b)
2019/04/21(日) 14:48:54.11ID:YKRN8m01M 34年間、ほぼ毎日プログラミングしてますよ!
定年になってもずっとやってると思います。
作りたいものが一杯有りすぎて体が2つ3つ欲しいです。
今、最も力を入れているのが人工知能です。
人類を滅ぼす悪魔のソフトを造るのが人生最大の目標です!
定年になってもずっとやってると思います。
作りたいものが一杯有りすぎて体が2つ3つ欲しいです。
今、最も力を入れているのが人工知能です。
人類を滅ぼす悪魔のソフトを造るのが人生最大の目標です!
193デフォルトの名無しさん (ワッチョイ 0d5f-YIQo)
2019/04/21(日) 17:58:31.04ID:XP3sT+Yd0 >>183
全然わかってねえじゃん
あと数文字をコーディングすることが
Cの機能を説明するサンプルとしては邪魔だったら
その数文字をコーディングしねえのは当たり前だ
サンプルってのはS/N比が大事なんだよ
そこで伝えようとしていること以外のノイズは
徹底排除する必要があるんだ
全然わかってねえじゃん
あと数文字をコーディングすることが
Cの機能を説明するサンプルとしては邪魔だったら
その数文字をコーディングしねえのは当たり前だ
サンプルってのはS/N比が大事なんだよ
そこで伝えようとしていること以外のノイズは
徹底排除する必要があるんだ
194デフォルトの名無しさん (ワッチョイ 0d5f-YIQo)
2019/04/21(日) 17:59:26.99ID:XP3sT+Yd0 >>191
おまえ自分が作ったプログラムの敵が未来からタイムマシンで暗殺に来るぞ
おまえ自分が作ったプログラムの敵が未来からタイムマシンで暗殺に来るぞ
195デフォルトの名無しさん (ワッチョイ 368c-HmQt)
2019/04/21(日) 19:19:27.57ID:AjzRUWat0 脳波を検出して見たいVRを出してやるわ ==> 人類滅亡
196デフォルトの名無しさん (ワッチョイ 69ad-61/s)
2019/04/21(日) 20:04:10.03ID:gW8lsVjX0197デフォルトの名無しさん (トンモー MMd5-+96b)
2019/04/21(日) 20:08:24.68ID:YKRN8m01M 今どきCとか
K&Rとかで
能書きこいて
馬鹿ジジイにも
ほどがあるwww
K&Rとかで
能書きこいて
馬鹿ジジイにも
ほどがあるwww
198デフォルトの名無しさん (ワッチョイ 0d5f-YIQo)
2019/04/21(日) 20:10:12.48ID:XP3sT+Yd0 >>196
「初心者」という隠れ蓑に逃げる馬鹿って、自己紹介か?
「初心者」という隠れ蓑に逃げる馬鹿って、自己紹介か?
199デフォルトの名無しさん (ワッチョイ b18f-fGro)
2019/04/21(日) 20:48:49.16ID:ZEQClH310 >>197
イラッとするのはわからんでもないが、ここはC言語スレだからそんなこというのは荒らしだぞ
イラッとするのはわからんでもないが、ここはC言語スレだからそんなこというのは荒らしだぞ
200デフォルトの名無しさん (ワッチョイ 7252-U8iM)
2019/04/21(日) 23:45:38.39ID:2X82VWTJ0 >>196
あの時代の初心者は今時の初心者と違って、大半はちゃんと自分で考えて自力で技術を習得していく姿勢があり、ただ教えてもらった通りにするだけのようなのは自然と落伍していったと思うよ。当時の想定する読者層にあった適切な内容だったろうと思う。
あの時代の初心者は今時の初心者と違って、大半はちゃんと自分で考えて自力で技術を習得していく姿勢があり、ただ教えてもらった通りにするだけのようなのは自然と落伍していったと思うよ。当時の想定する読者層にあった適切な内容だったろうと思う。
201デフォルトの名無しさん (アウアウエー Sada-aFPd)
2019/04/22(月) 00:28:58.76ID:1mQu6LUBa 単に裾野が広がってるだけで
202デフォルトの名無しさん (ワッチョイ 92ad-AoSc)
2019/04/22(月) 01:07:58.48ID:HMkHCtfr0 >>196
人の意見を聞く気がないなら
チラシの裏にでも書いてなよ
175にもあるけど
初心者の真似するバカのコードが
そのままリリースされる態勢を反省した方が前向き
あと何であの本に信奉者がいるのか
理解できない自分も
人の意見を聞く気がないなら
チラシの裏にでも書いてなよ
175にもあるけど
初心者の真似するバカのコードが
そのままリリースされる態勢を反省した方が前向き
あと何であの本に信奉者がいるのか
理解できない自分も
203デフォルトの名無しさん (ワッチョイ 0d5f-YIQo)
2019/04/22(月) 02:24:36.97ID:RPRc4IKz0204デフォルトの名無しさん (トンモー MMd5-+96b)
2019/04/22(月) 08:39:06.04ID:29O1k2F2M205デフォルトの名無しさん (アウアウウー Sacd-kBNU)
2019/04/22(月) 10:09:04.63ID:y6AB5FtQa >>179
いや、俺は使えない。
C++は30年ぐらい前にやろうとはしたが当時のPCでもワークステーションでも流行っておらず当然そのような仕事もなく、自分は主にUNIX関係の仕事だったので使う機会がほとんどなかった。
その後PCの方ではWindowsが流行ったが仕事はそのままなので変わらず、趣味ではWindowsでDelphi使ったりもしたがC++はほとんど手を着けず大雑把にしかわからないまま。
仕事はやがてLinux関係に移行するがそこでもC++が必要とされる事はなく現在に至る。趣味でJavaを覚えたりもしたが自分の仕事ではほとんど必要とされなかった。
今は趣味で Kotlin を覚えているところだが、C++については複雑化し過ぎたようなので今さらやる気は起きない。多分今後もやらないと思う。
Windowsプログラムを作る必要が出てきたとしても今ならC++なしで出来そうだし必要になるとしても局所的だろう。
いや、俺は使えない。
C++は30年ぐらい前にやろうとはしたが当時のPCでもワークステーションでも流行っておらず当然そのような仕事もなく、自分は主にUNIX関係の仕事だったので使う機会がほとんどなかった。
その後PCの方ではWindowsが流行ったが仕事はそのままなので変わらず、趣味ではWindowsでDelphi使ったりもしたがC++はほとんど手を着けず大雑把にしかわからないまま。
仕事はやがてLinux関係に移行するがそこでもC++が必要とされる事はなく現在に至る。趣味でJavaを覚えたりもしたが自分の仕事ではほとんど必要とされなかった。
今は趣味で Kotlin を覚えているところだが、C++については複雑化し過ぎたようなので今さらやる気は起きない。多分今後もやらないと思う。
Windowsプログラムを作る必要が出てきたとしても今ならC++なしで出来そうだし必要になるとしても局所的だろう。
206193 (ワッチョイ 0d5f-YIQo)
2019/04/22(月) 10:13:09.11ID:RPRc4IKz0207デフォルトの名無しさん (アークセー Sx79-m+ec)
2019/04/22(月) 12:15:04.42ID:IrgyqU7Vx >>179
MFCが流行ってたりC++Builderが流行ってた時にはそれなりに使う人口がいたと思うけど、過去メンテ以外で現在積極的に使ってる人は少ないかもね。
MFCが流行ってたりC++Builderが流行ってた時にはそれなりに使う人口がいたと思うけど、過去メンテ以外で現在積極的に使ってる人は少ないかもね。
208デフォルトの名無しさん (オッペケ Sr79-45C/)
2019/04/23(火) 01:03:01.93ID:dZlKsmD/r >>208
ioccc
ioccc
210デフォルトの名無しさん (ワッチョイ 0d5f-YIQo)
2019/04/23(火) 07:52:30.55ID:ITUqyUOr0211デフォルトの名無しさん (ブーイモ MMb2-M3sR)
2019/04/23(火) 09:50:22.14ID:tEWsQxq+M []が演算子って常識じゃないのか?
どの優先順位表にも載ってるだろ?
どの優先順位表にも載ってるだろ?
212デフォルトの名無しさん (ワッチョイ 12a5-GXKd)
2019/04/23(火) 09:56:40.16ID:EYeaOvlg0 もちろんこういう書き方も出来るのが[]演算子と文字列リテラルの合わせ技
int wday = 2;
printf("%c", "SMTWTFS"[wday]);
int wday = 2;
printf("%c", "SMTWTFS"[wday]);
213デフォルトの名無しさん (アウアウウー Sacd-JNgg)
2019/04/23(火) 11:04:29.35ID:lZSXa7efa 標準入力で最初に数字を入力して、その値だけ文字列を入力するのはどんな感じで書けばいいですか
3
asdf
qwert
sdfghg
こんな感じで最初の入力の値に合わせて配列を用意する?感じになるとおもうんですが
なにもひらめきまへん
3
asdf
qwert
sdfghg
こんな感じで最初の入力の値に合わせて配列を用意する?感じになるとおもうんですが
なにもひらめきまへん
214デフォルトの名無しさん (ワッチョイ 0d5f-YIQo)
2019/04/23(火) 11:22:00.88ID:ITUqyUOr0215デフォルトの名無しさん (ワッチョイ 5e63-JNgg)
2019/04/23(火) 11:44:40.51ID:5E3fgZzA0 >>212
土日・・・
土日・・・
216デフォルトの名無しさん (アウアウエー Sada-aFPd)
2019/04/23(火) 11:54:58.53ID:mPLR84qwa >>214
またおまえか
またおまえか
217デフォルトの名無しさん (ワッチョイ 0d5f-YIQo)
2019/04/23(火) 12:32:49.10ID:ITUqyUOr0 >>216
何か用か?
何か用か?
218デフォルトの名無しさん (アウアウウー Sacd-kBNU)
2019/04/23(火) 15:59:59.72ID:gv0SOq8da >>213
文字を入力するだけで変数に入れる必要がないなら getchar() で '\n' 三回読んだら終わり。
変数に入れる必要があるなら最初の値の分だけ char * を保持する配列を char ** に malloc() や calloc() 使って確保して、更に全要素を malloc() や calloc() 使って確保して、それに対して fgets() を繰り返す。
文字を入力するだけで変数に入れる必要がないなら getchar() で '\n' 三回読んだら終わり。
変数に入れる必要があるなら最初の値の分だけ char * を保持する配列を char ** に malloc() や calloc() 使って確保して、更に全要素を malloc() や calloc() 使って確保して、それに対して fgets() を繰り返す。
219デフォルトの名無しさん (ワッチョイ 6e7c-JNgg)
2019/04/23(火) 16:43:21.53ID:56NoAZCP0 >>215
土曜は日曜であり、全は一である。
土曜は日曜であり、全は一である。
220デフォルトの名無しさん (アウアウウー Sacd-kBNU)
2019/04/23(火) 17:41:00.23ID:gv0SOq8da 月月火水木金金
221デフォルトの名無しさん (ワントンキン MM62-o4pp)
2019/04/23(火) 20:20:58.69ID:i9di+stUM おじいちゃん戦争はもう終わってるよ
222デフォルトの名無しさん (ワッチョイ a901-m+ec)
2019/04/23(火) 20:24:41.37ID:aEjNiIWC0 令和も戦争のない年号になると良いが、ちょっと雲行きが怪しいな。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【台湾有事】トランプ氏 電話会談で高市総理に発言抑制を要求か 米メディア報道… ★10 [BFU★]
- 中国、日本渡航に再警告 「侮辱や暴行で複数の負傷報告」 [ぐれ★]
- 経済誌元編集長「石破氏がコメ増産したからコメが余りまくってるどうしてくれるんだ」高市総理は悪夢の石破政権の尻ぬぐいしてる [バイト歴50年★]
- 英検、6級と7級新設へ 基礎レベルの学習に対応 [少考さん★]
- 【足立暴走男の母親が涙の謝罪】「医師から運転を止められていた」母が語った事件の背景 男は数年前から統合失調症 最近薬を変え… [ぐれ★]
- 参政・梅村みずほ議員「土葬を原則禁止にしろ」「上皇陛下も火葬が望ましいといってる」 [バイト歴50年★]
- VIPでウマ娘
- おさかなさんあつまれえ
- 【高市速報】トランプ大統領「これ以上日中の対立をエスカレートさせるな」 [931948549]
- トランプ、高市首相との電話協議で『日中対立「沈静化の必要性」に言及』首相の国会答弁を支持する発言なし [256556981]
- 理想の人間一人思い浮かべてスレ開け
- 嫌儲ウマ娘部 ★2 [959428968]
