逐步分析下面c++程序代码

来源:百度知道 编辑:UC知道 时间:2024/05/22 20:31:21
#include<iostream.h>
void main()
{
int a(2),b(3),c(4),d(5);
switch(++a)
{
case 2:c++;d++;

case 3:switch(++b)

{
case 4:c++;
cout<<c<<','<<d<<endl;

case 5:d++;

}
cout<<c<<','<<d<<endl;
case 5:c++;
d++;
cout<<c<<','<<d<<endl;
}
cout<<c<<','<<d<<endl;
}

#include<iostream.h>//声明头文件(cout等操作包含在此头文件目录下)
void main() //main函数,系统调用程序的入口函数
{
int a(2),b(3),c(4),d(5); //声明整形变量a=2 b=3 c=4 d=5

switch(++a) //switch(a) 代表执行case a:后的语句,++a代表先对a进行自增操作,也就是此时a=3,选择执行case 3:后的语句

{
case 2:c++;d++; //程序跳过了这句 不执行

case 3:switch(++b) //在这里又一个switch 同理 此时先对b做自增操作 也就是这时候b=4 选择实行case 4:后的语句

{
case 4:c++; //c做自增,此时c=5
cout<<c<<','<<d<<endl; //输出c,d的值 也就是5,5 (后面含一个回车)

case 5:d++; //由于case 4:里没有break语句,因此顺序执行下来 此处d做自增后d=6

}
cout<<c<<','<<d<<endl; //输出c,d的值 也就是 5,6 (后面含一个回车符)
case 5:c++; //同理 由于外层的switch的case 4:也没有break语句 这里继续执行 c做自增操作 此时c=6

d++; //d做自增操作 此时d=7
cout<<c<<','<<d<<endl; //输出c,d的值 也就是 6,7 (后面含一个回车符)
}
cout<<c<<','<&l