###該当のソースコード
c++
1int main(){ 2 int *x; 3 int *y; 4 int *NIL; 5 // cout << x == NIL << endl; 6 printf("%d\n",x == NIL); 7 if( x == NIL){ 8 cout << "NIL!!" << endl; 9 } 10 else{ 11 cout << "not NIL..." << endl; 12 } 13 return 0; 14} 15
###発生している問題
この時の出力結果は
0
not NIL...
ですが,
int *yを消すと出力結果が
1
NIL!!
になります
なぜこのように全く関係ないポインタ変数*yが存在するかどうかがx == NILの値に影響を与えるのですか?
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。