C言語CGI専用スレッド

このエントリーをはてなブックマークに追加
719nobodyさん
char* pEnv = getenv("QUERY_STRING");
として、if(!pEnv) と if(pEnv!=NULL)では評価違いますか?
720nobodyさん:03/12/02 22:21 ID:???
>>719
当たり前だろ・・・・
前者はNULLなら。後者はNULLでなければ。
それくらい実際にやってみれば分かるだろ。
721nobodyさん:03/12/02 22:30 ID:???
>>720
ボケてた。すまん
722nobodyさん:03/12/02 23:28 ID:???
>>720
NULL==0が成立しない環境もあるのだよ。
俗に言うNULL論争だ。
723nobodyさん:03/12/02 23:34 ID:???
>>722
何を言っている??
NULLは0だし(全ビット0という意味ではない)、NULLは偽。
だからif(!pEnv)は真偽の反転により、pEnvがNULLならと読める。
724nobodyさん:03/12/02 23:38 ID:???
>>723
ム板に転載しておきました。
725nobodyさん:03/12/02 23:46 ID:???
>>724
ANSIの仕様から外れた環境まで含めるなら勘弁してくれ。
そんなものは考えたくない。