为了账号安全,请及时绑定邮箱和手机立即绑定

我在执行的时候,第二次输入的是1时,按回车后就会自动结束,这是为什么?

我在执行的时候,第二次输入的是1时,按回车后就会自动结束,这是为什么?

C++
慕雪6442864 2022-06-01 18:14:47
如下代码:#include "stdafx.h"#include<iostream>using namespace std;int main(array<System::String ^> ^args){int k,j;cin>>k;switch(k){case 1: do{int k;cin>>k;}while(k!=1);}cin>>j;}我的意图是当输入1时,触发case,进而执行语句序列do……while语句,此句的意图是再输入一个已经重新定义的整型变量k,当k不等于1时跳出do……while循环进而遇到“}”结束switch语句。
查看完整描述

3 回答

?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

你的循环条件是k!=1,那你第二次输入的是1,当然不符合循环的条件而推出了,你要是想只要输入1就不退出,就改成k==1

查看完整回答
反对 回复 2022-06-06
?
长风秋雁

TA贡献1757条经验 获得超7个赞

"{}"里面的k作用域只在括号里面,do循环里面的k在do里面,while语句用的k是之前的那个k

查看完整回答
反对 回复 2022-06-06
?
九州编程

TA贡献1785条经验 获得超4个赞

while(k!=1);使用的是外部的k,也就是你第一次输入的k,所以无论你之后输入什么都会结束

查看完整回答
反对 回复 2022-06-06
  • 3 回答
  • 0 关注
  • 204 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号