2 :名無しさん 10/08/22 06:38 ID:Gb3BPCAoAi (・∀・)イイ!! (0)
(num = 0)はわざと?


3 :アンケ主 10/08/22 06:41 ID:eb_,,O9Lg9 (・∀・)イイ!! (2)
>2さん
はい、わざとです。


4 :名無しさん 10/08/22 06:43 ID:LGXmfSKJMI (・∀・)イイ!! (2)
コンパイルしたら警告が出た


5 :アンケ主 10/08/22 06:51 ID:eb_,,O9Lg9 (・∀・)イイ!! (1)
>4さん
numが代入のみで参照しないので、コンパイラによっては警告を出してくれるかもしれませんね。


6 :名無しさん 10/08/22 06:58 ID:pL7N,4rA5j (・∀・)イイ!! (3)
わざとか・・・

 if(num = 0)
とかやらないように、
 if(0 == num)
としなさい、ってむかし協力会社のスーパーPGにおそわた


7 :名無しさん 10/08/22 07:38 ID:N9vjK_v44J (・∀・)イイ!! (1)
コンパイラによっては、ifの条件部が代入になっているだけで警告を出すのもあるな。
その場合は、更に括弧で括ってたのだが、最近はそれでも警告にするものに遭遇した。
警告は無視すればいいという考え方もあるが、数が多いと重大な警告を見逃すことにつながるんだ。
過剰な警告には困ったもんだ…


8 :名無しさん 10/08/22 07:38 ID:LErVcZPTG9 (・∀・)イイ!! (1)
pascal使いだった俺は「だから代入は:=と書けばいいのに」と思ってたことがある
最近はperlばかり書いてるので慣れたが


9 :名無しさん 10/08/22 08:52 ID:x4iKgQ,KYQ (・∀・)イイ!! (0)
then を選んだダメポが50%近くも居るとはな...
得意言語がCでそれかよ。日本オワタ


10 :名無しさん 10/08/22 09:12 ID:oC5lKo8jTO (・∀・)イイ!! (3)
C言語を得意な人が引っ掛けを疑っていれば間違えない問題ではあると思うよ。
ただ、引っ掛け問題には引っかかるのがエチケットと考えるプログラマも多く、
これを間違って解答したっからといって、したりがおはどうかと


11 :名無しさん 10/08/22 09:16 ID:y4vDD.6_fC (・∀・)イイ!! (0)
>>3
引っ掛けだっただと・・・うっかり八兵衛じゃないのか・・・・


12 :名無しさん 10/08/22 09:32 ID:lZfk2n,QZp (・∀・)イイ!! (3)
逆にこれがわざとじゃなけりゃクイズにならんだろうがな。
実際こういうミスは今でもするけど。


13 :名無しさん 10/08/22 09:40 ID:lddQYwsdSp (・∀・)イイ!! (0)
この程度の引っ掛けに躓くようなやつが書くプログラムは
メモリリークやバグがわんさかありそうで怖い・・・・・

あとでメンテする側の身にもなってくれよ・・・・・


14 :名無しさん 10/08/22 11:16 ID:qkFcouufFx (・∀・)イイ!! (1)
最初の頃はこれよく間違えたから今さら間違えるわけがない。
正の値入れたら、必ずtrue吐いた記憶があった。さんざん悩んだ。

てかポインタはすんなりいけたのに参照と代入はすんなり行かなかったな。
そういう意味でポインタより難しかった。


15 :名無しさん 10/08/22 11:52 ID:LGXmfSKJMI (・∀・)イイ!! (1)
(num = 0) == 0 だから falseになるわけか
寝ぼけたまま回答したから間違えたぜ


16 :名無しさん 10/08/22 13:03 ID:oyxcK4B.uf (・∀・)イイ!! (0)
インクリメントとかを除いて条件に代入とか常識的に考えてしないし
ミスだろうが、わざとだろうが大勢の人に見てもらうアンケとして良くないと思う。


17 :名無しさん 10/08/22 14:45 ID:v-6xDCu139 (・∀・)イイ!! (0)
if(!(p=malloc(10)))みたいなことはやったことがあるな。


18 :名無しさん 10/08/22 17:53 ID:UJL8QiM-fK (・∀・)イイ!! (0)
昔のファイルオープンのサンプルだと
FILE *fp;
if((fp=fopen("filename","rw"))==NULL){
fprintf(stderr, "file cannot open\n");
exit(-1);
}
なんてのよく見かけたな


19 :名無しさん 10/08/23 12:22 ID:nTH6RhWv-r (・∀・)イイ!! (0)
>>16 いやいや、>>17-18見るとわかると思うけど、これ結構やってたり。
エラー返す時NULL返す関数ってそれなりにあるから、逆手にとってエラーチェックに使ったりしない?


20 :名無しさん 10/08/24 23:00 ID:foyjl0_CJ, (・∀・)イイ!! (0)
>>19
>>18はストリームだし、>>1みたいに変数に代入して条件式を評価するなんて
実際あるの?


21 :名無しさん 10/08/24 23:48 ID:xdg.SdveuX (・∀・)イイ!! (0)
>>20
a = func(x);
if (a != 0) {
の短縮とか?


22 :名無しさん 10/08/25 00:25 ID:tI71zttdsS (・∀・)イイ!! (0)
>>20
あるかって言えばある

a += b + c + d
(a != 0) or (b != 0) or (c != 0) or (d != 0)

どちらも同じ結果になるんだがマシン語にするとステップ数が倍ぐらい違う
しかもこれを認識してくれるコンパイラはまず無い


板に戻る 全部 最新50

このスレへの書き込みにはログインが必要です。
削除ガイドライン違反報告はこちら
このアンケートの2ちゃんねる互換リンク→http://find.moritapo.jp/enq/test/read.cgi/5/1282426572/