static double PI = 3.1;
struct A{
int r;
static double PI;
void func()
{
PI = 3;
}
double S()
{
return A::PI * r * r;
}
};
double A::PI = 3.14;
int main()
{
A a{1}, b{2};
a.func();
cout << b.S();
return 0;
}
这段代码的输出结果是什么?为什么?
A. 编译错误 B. 12
C. 12.4 D. 12.56
E. 其他:_______