C++程序员大挑战之二----令人疑惑的NULL指针!
请看下面的程序
class foo
{
public:
foo() { m_nVar1 = 100;};
~foo(){};
void Display()
{
printf( " m_nVar2 is %d", m_nVar2 );
}
int m_nVar1;
static int m_nVar2;
};
int foo::m_nVar2 = 500;
int main(int argc, char* argv[])
{
foo *p = NULL;
p->Display();
_getch();
return 0;
}
请问哪种说法是正确的:
A. 程序编译错误。
B. 程序编译正确,但是运行时发生异常
C. 程序编译正确,运行时有时正常,有时发生异常。
D. 程序编译正确,运行时正常
你的选择是哪一个?
=========================================================