综合技术
直播中

王宁

7年用户 185经验值
私信 关注
[问答]

c++里switch语句测试出来的结果显示case的前四句跳过了

#define  G 1
#define  J 2
#define  R 3
#define  H 4
#define  C 5
   
while (n--)
   {
      cin>>style>>x>>y;   
   /*cout<<"检查输入过程"*/
   switch(style)
   {
   case 1: {p1.set_pos(x,y);cout<<1;break;}   //用p1,p3,p4,p5分别表示帅、车、马、炮
   case 3: {p3.set_pos(x,y);cout<<2;break;}   //根据输入的类型对相应的棋子置位
   case 4: {p4.set_pos(x,y);cout<<3;break;}   
   case 5: {p5.set_pos(x,y);cout<<4;break;}
   default: cout<<"输入有误"<    }
   }

测试出来的结果显示case的前四句跳过了,怎么回事?

回帖(4)

刘玉英

2019-3-12 09:11:00
说明style不是1,3,4,5里面的任何一个值.
举报

田爽

2019-3-12 09:26:05
我不是有宏定义吗
举报

李路明

2019-3-12 09:31:59
但你的style不是程序判断的值啊.
c++,仿真看看就知道了,设个断点.
举报

蔡烁坚

2019-3-12 09:47:15
改好了,case后面的值写成字符型
举报

更多回帖

发帖
×
20
完善资料,
赚取积分