12/05/28 22:03:06.42
>>852
10>iはちょっといやじゃね?
数学の書き方からの借用でi<10が世界標準なきがする
856:仕様書無しさん
12/05/28 23:18:07.63
>>853
>>855
857:仕様書無しさん
12/05/28 23:53:36.86
>>853
通常、a(変数)==1(定数)って書く条件式を逆に記述してるから、他も入れ替えて記述したった!って事よ。
858:仕様書無しさん
12/05/29 03:05:01.58
バカじゃないなら=を書き忘れた時の対策になる書き方の癖を付ける前に
=を書き忘れない癖を付けるもんなw
859:仕様書無しさん
12/05/29 03:08:17.86
フェイルセーフ
860:仕様書無しさん
12/05/29 04:51:14.73
癖の問題じゃねえよどう考えても
861:仕様書無しさん
12/05/29 05:48:59.62
int arr[]={
1
,2
,3
,4
,5
};
という最高にメンテしやすい表記編み出したんだけど使っていい?
862:仕様書無しさん
12/05/29 06:32:50.37
>>857
左に変数書くのは常識でも何でもないのに身勝手極まりない話だよ
寧ろ左に定数置く方が多数派だろうに。
if( S_OK == Xxxx() )
オプソや、MS、Oracleなんかのサンプルコードじゃ大概
こんな風に左定数。
863:仕様書無しさん
12/05/29 06:34:03.20
>>857
>i[dst]=i[src];
この部分は動くんですか?
864:仕様書無しさん
12/05/29 06:44:33.06
>>863
*( i + dst ) = *( i + src );
865:仕様書無しさん
12/05/29 08:14:25.89
言語実装上の間抜けな穴と認識している
動作が同一だからといって文法に基づく意味が同じとはいえない
866:仕様書無しさん
12/05/29 12:40:39.34
>>858
一つの言語しか使えない土方はそうかもしれんが、
たいていのプログラマは複数の言語を使うわけよ
等号が = な言語で仕事しているときに、ちょっとデバグでC++のソースを触ったりすると、
間違えることもあるのだよ
867:仕様書無しさん
12/05/29 13:06:33.50
まともなプログラマなら「運が良ければエラーになる」ようなものに頼らない。
868:仕様書無しさん
12/05/29 14:57:58.26
逆にSQLとか書いてると==でエラー吐かれてずっと悩む時があるもんな…
869:仕様書無しさん
12/05/29 16:41:24.05
ねーよ
870:仕様書無しさん
12/05/29 18:19:43.91
>>863
自分で試さない奴がいちばんイラッつとする。
871:仕様書無しさん
12/05/29 19:43:14.85
int a = 0 ;
int b = 0 ;
scanf("%d %d" , &a , &b ) ;
a ^= b ^= a ^= b ;
printf(" a = %d \nb= %d\n" ,a , b ) ;
みたいな感じで、一行スワップ書いたら怒られた
872:仕様書無しさん
12/05/29 19:53:53.57
怒られたのはたぶん scanf() なんて使ってるから
873:仕様書無しさん
12/05/29 20:11:27.21
scanfって一度の使ったことない
874:仕様書無しさん
12/05/29 20:38:37.38
>>872
>>873
いや、実際にscanf使ったわけじゃないから。
875:仕様書無しさん
12/05/29 21:54:21.53
>>872
何でだよ
scanfのパターンマッチが理解出来てねぇだろお前
876:仕様書無しさん
12/05/29 22:07:31.87
aとbが同じ値のときのこと考えてないから怒られたらんじゃね?
877:仕様書無しさん
12/05/29 23:15:03.81
>>871
自己満のトリッキーコード書く奴は怒られて当然
どうしてもそれがやりたきゃせめてマクロ化だろ
878:仕様書無しさん
12/05/29 23:20:00.07
>>871はそれ書いて何がしたかったの?
格好つけたかったのか?
879:仕様書無しさん
12/05/29 23:27:30.27
入力にscanfを使っても何も感じない馬鹿が1名いるな
特有の臭さがあるんでこいつのレスはすぐ分かる
880:仕様書無しさん
12/05/30 01:19:50.06
やっぱsscanf_sくらいは使って欲しいよな!
881:仕様書無しさん
12/05/30 04:12:19.10
sscanfなんざ使うよりscanfの方が安全だし、
文字の取りこぼしも少ない
実際scanfを使うことは少ないが、
一時ファイルなんかを対象にfscanfを
使うことは多い
882:仕様書無しさん
12/05/30 06:17:59.87
まあたまにやりたくなるよな
地獄のミサワ
「ふ~ん、このトリッキーコード、3年位前に俺も思いついたわ~」とか
883:仕様書無しさん
12/05/30 07:01:00.94
sprintf(buf,…);
int len=strlen(buf);
884:仕様書無しさん
12/05/30 10:43:58.62
>>881
ひょっとしてギャg(ry
885:仕様書無しさん
12/05/30 10:44:55.03
>>866
ない。
886:仕様書無しさん
12/05/30 10:45:33.57
>>862
ひょっとしてギャg(ry
887:仕様書無しさん
12/05/30 10:47:55.32
>>861
前職場の同僚にいたなあ>先カンマ
今のC/C++だと後カンマで書けと言わんばかりの仕様なんだが
888:仕様書無しさん
12/05/30 15:59:23.52
アホみたいにステップ数を稼ごうとするのはコボラー時代からの悪習
889:仕様書無しさん
12/05/30 17:46:05.44
前に見たC++のコードで
while(1) {
int Hoge = Hage();
if (Hogeの判定) {
goto Label;
}
break;
}
:
:
Lablel: :
ってのがあったんだけど、エラー処理にgoto使っているせいで変数宣言に
いちいちエラーが出るのを回避するためににやっていたみたい。
よくまあ思いつくなぁwwwと思ったんだが、ちょっとイラッつとした。
890:889
12/05/30 17:48:27.06
× Lablel
○ Label
891:仕様書無しさん
12/05/30 18:20:27.23
>>889
longjumpだっけ?
関数越えのgoto
それしないだけマシだと思う。
892:仕様書無しさん
12/05/30 19:34:40.78
>>886
は?scanfの使い方も知らん素人が
マ板なんか来るなよ
893:仕様書無しさん
12/05/30 20:00:39.11
>>892
背伸びしてレスしても恥かくだけだよ
fscanfとsscanfは稀に使うことはあるが、scanfを使うことはまずない
894:仕様書無しさん
12/05/30 20:03:28.25
>>893
fscanfの話してたんだけど
つかレス番まちがえた >>884 だったな紛らわしい
895:仕様書無しさん
12/05/30 20:05:56.45
try/finallyやまともな一行入力ライブラリが
標準でついてない糞言語にイラッと来る
896:仕様書無しさん
12/05/30 20:21:25.16
>>887
長いSQL書いてたときは間カンマ(カンマで1行とる)にしてたなぁ。
あとSQLだと、
WHERE 1=1
AND a=hoge
AND b=hage
...
なんてのも。
897:仕様書無しさん
12/05/30 20:21:26.50
>>886
事実ですが
URLリンク(msdn.microsoft.com)
898:仕様書無しさん
12/05/30 20:23:08.56
WHERE
1 = 1
AND
a = hoge
AND
b = hage
899:仕様書無しさん
12/05/30 21:03:52.60
>>897
これは?
URLリンク(msdn.microsoft.com)
900:仕様書無しさん
12/05/30 21:06:58.12
全体として少数派
901:仕様書無しさん
12/05/30 21:08:52.98
てっきりコピペしてそのまま使わせないためにそうしてるものかと思っていた時期が私にも
902:仕様書無しさん
12/05/30 21:49:22.51
>>897
そもそもネストが深すぎだろw
903:仕様書無しさん
12/05/30 21:59:51.00
サンプルなんて盲信するなよ
904:仕様書無しさん
12/05/30 22:40:23.90
どこぞの教科書やサンプル通りに右に定数書くヤツは
条件分岐で何を一番に見るか考えてない
905:仕様書無しさん
12/05/30 23:30:29.43
>>904
$ tar xfJ linux-3.4.tar.xz
$ cd linux-3.4/
$ find . -name '*.c' | xargs pcregrep '==\s*[A-Z0-9_]+' | wc -l
127939
$ find . -name '*.c' | xargs pcregrep '[A-Z0-9_]+\s*==' | wc -l
6971
フム・・・・
定数が右ばかりにあるLinuxは危険だ。
今すぐインターネットから切断した方がいい。
906:仕様書無しさん
12/05/30 23:34:56.89
定数というより式であるモノを持って来てドヤ顔
しかも何が問題か解ってないという
907:仕様書無しさん
12/05/31 00:03:00.58
そもそも「定数を左に置く」なんてC/C++のバッドノウハウであって、
警告レベルを上げたり静的解析ツールかませば一発で解決すること
まぁ、C/C++はともかくとして、それをC#やJava等の他言語で実践している奴にはマジでイラッとくる
908:仕様書無しさん
12/05/31 00:10:14.91
なんてこった読みやすくて素晴らしいGNUスタイルは定数を右に置くのか
しかし、定数だけGNUスタイルに合わせるのは問題だな
改行もインデントも至高のGNUスタイルにあわせなきゃっ!
909:仕様書無しさん
12/05/31 00:12:53.26
未だ定数を左に置くのはエラー出すためだけだと思ってるヤツが居るんだな()
910:仕様書無しさん
12/05/31 00:17:41.38
>>909
他に何があるっていうんだい?
911:仕様書無しさん
12/05/31 00:20:34.98
定数を右に書くヤツは数個前のレスすら読めないそうだ
912:仕様書無しさん
12/05/31 00:27:53.74
while( GetMessage( &message, 0, 0 ) > 0 )
読みづらいっつうの