C++中有一段程序时这样的。 int a; while(cin >> a) cout << (char)a;
为什么当输入为72101108108111时显示结果为Hello。我觉得每当输入一个整型时放入a中,开始执行while的循环体就要输出相应的字符呀。为什么可以连着输那么多...
为什么当输入为72 101 108 108 111 时显示结果为Hello。我觉得每当输入一个整型时放入a中,开始执行while的循环体就要输出相应的字符呀。为什么可以连着输那么多整型,然后一起显示? 财富值不多,,求助啊大家。。
展开
3个回答
展开全部
你在键盘上输入的时候,操作系统并没有立即把输入的内容传给你的程序,而是放在缓冲区里,直到用户在键盘上敲了回车键,你的程序才收到所输入的内容。
所以,连续输入72 101 108 108 111 和分开输入的效果是一样的。
所以,连续输入72 101 108 108 111 和分开输入的效果是一样的。
追问
那意思是说 这几个数字全部保存在整型a里,等按回车程序收到输入内容之后,执行循环体,输出a里面存放的多个字符吗 如果不这么理解,那么又怎么会连续输出。。
追答
所有输入的内容在回车之后才送到你的程序,
你的程序第一次while循环时,从中取出72,存到a里,然后输出。
第二次循环时,取到的是101,第三次是108.。。。。。
展开全部
在这里的while(1)的作用是使这个程序运行永不关闭后点这里了解一段时间(1);是一个永恒的循环执行了while语句,你应该知道,虽然(谓语){...};后面的循环体是在内容的自由裁量权执行满足它的条件,说有一个节目
INT I = 1;
同时(I <= 10)
{ i + +;
}
这个周期是决定我执行,而I <这个表达式= 10值仅为0或1,法官是一个满足的情况下,判断是不满意为0,而你在这里,(1)相当于法官的表情永不满足流通,相当于在(1 == 1);至于同时
(1)使用,一般不能就像您使用该程序这里面,但对于发射,当你不知道什么时候使用,而(1)循环,当有在循环
break语句的对应端必须使用的设计环说,你有一个菜单程序,选择1-5这五个菜单项,当你选择退出程序,它是5,那么你就可以使用这种形式
字符CH;
而( 1) {
printf(“请1.xxxxxx \ N”);
printf(“请2.xxxxxx \ N”);
printf(“请3.xxxxxx \ N” );
printf(“请4.xxxxxx \ N”);
printf()的“5退出\ n”;
CH =的getch();
如果(CH = = '6')
突破;
}
这是一段时间(1)
最常用的方法,例如,只要在使用过程中的程序
INT I前= 1;
同时(I <= 10)
{
i + +;
}
您也可以更改
INT I = 1; BR />而(1)
{
i + +;
倘(i> 10)
突破;
}
效果是一样的
INT I = 1;
同时(I <= 10)
{ i + +;
}
这个周期是决定我执行,而I <这个表达式= 10值仅为0或1,法官是一个满足的情况下,判断是不满意为0,而你在这里,(1)相当于法官的表情永不满足流通,相当于在(1 == 1);至于同时
(1)使用,一般不能就像您使用该程序这里面,但对于发射,当你不知道什么时候使用,而(1)循环,当有在循环
break语句的对应端必须使用的设计环说,你有一个菜单程序,选择1-5这五个菜单项,当你选择退出程序,它是5,那么你就可以使用这种形式
字符CH;
而( 1) {
printf(“请1.xxxxxx \ N”);
printf(“请2.xxxxxx \ N”);
printf(“请3.xxxxxx \ N” );
printf(“请4.xxxxxx \ N”);
printf()的“5退出\ n”;
CH =的getch();
如果(CH = = '6')
突破;
}
这是一段时间(1)
最常用的方法,例如,只要在使用过程中的程序
INT I前= 1;
同时(I <= 10)
{
i + +;
}
您也可以更改
INT I = 1; BR />而(1)
{
i + +;
倘(i> 10)
突破;
}
效果是一样的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-02-26
展开全部
输入终止条件的判断
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询