Hatena::Groupgeneration1986

仮想化済み古代魚

 | 

2008-05-24

USBの中身が度々吹っ飛ぶ件について

22:01

 K&Rの演習1-22を仕上げたんですがまたUSBの中身が吹っ飛んだのでソースコードがお亡くなりになりました。ちくせう。あとでもっかい書き直します。

=と==を間違えないための豆知識

22:01

前者は代入。後者は比較ですね。本来「c == 1」つまり「cが1であるか」と言う所を「c = 1」、「cに1を代入する」としてしまう等。

中学高校で自他共に認める「ケアレスミスが多い子」だったのでC言語の勉強中にもこういう凡ミスが非常に多い。で、Twitterで「また間違えたー!」と言う旨のPOSTをした所

@goldbook #define eq == とかしておくと幸せになれますよ

Twitter / code_air_edge

なんと。早速実験。

#include <stdio.h>
#define eq ==

int main(void)
{
	int i = 0;
	if (i eq 0){
		printf("成功しました");
	}
	return 0;
}

これでちゃんと動きました。defineって数字や文字に限らないんですね。

ukstudioukstudio2008/05/25 14:22あと、おれはあんまりやらないけど「a == 3」を「3 == a」って書くようにすればtypoっても大丈夫。「3 = a」はErrorでるから。

トラックバック - http://generation1986.g.hatena.ne.jp/oldfish/20080524
 |