答案:
#include <iostream.h> //基本输入出流
void main() //void 去了 ,可以不用。 主函数 返回为空。
{
int i(1),j(2),m(0),n(1); //定义 4个int 型局部变量 ,并初始化。
switch(++i) //switch (++i) 开关语句 。把 ++i 的值 加1。
{
case 1: m++;n++;
case 2: switch(j++){ // 因为定义是 i = 1,然后又++i .所以此时 跳到 2. (j++) 把 先把j 的值传入参数 ,J 在 -1 .j = 1
case 1:m++;
case 2:n++;//在这停。n++, n = 2
}
case 3:m++;n++;break//上一句没break 到这。在跳出。
case 4:m++;n++;
}
cout<<m<<'\n'<<n<<endl; // 直接到这 m = 1 n = 3
}++i,i=2执行case2中的switch:
j=2,n++,n=2
case 2后面没有break,执行case 3
m++,n++,m=1,n=3
break;结束循环,输出 1 3
程序中的变量都没有初值,所以,内存的内容是不确定的,这个程序有错误的。
上一个:一道VC++选择题,请详细解释每个选项
下一个:为什么在我的vc++里不能新建C++文件