结果为1(已用VC6.0和VS2010编译运行)
过程:
主函数第一行定义结构体node(有两个整型变量),
第二行为结构体赋值(即a = 1;b = 2)
第三行定义一个结构体类型指针并指向结构体类型的变量S,
(int*)pt是将结构体指针类型的pt强制转换为整型指针
()外的*是取值的意思,即取pt(跟s相同)指针所指地址的第一个值(即a)
误你分析结果。你把代码规整的写出来就能看出来结果是什么。
#include
using namespace std;
int main()
{
int x=0,y=2,z=3;
switch (x)
{
case 0: //x为0 ,因此会进入该case
switch (y)
{
case 1: cout <<'*'; break;
case 2: cout <<'%'; break; //y为2 ,因此会进入该case
//然后跳出本层switch
}
case 1: //x为0 ,但是上条case并没有break
//因此也会进入该case
switch (z)
{
case 1: cout <<'$'; break;
case 2: cout <<'*'; break;
default: cout <<'#';//z为3 ,因此会进入该case
//然后退出本层switch
}
}
return 0; // 函数结束
}