注意在while嵌套的if语句之外,还有一个cin>>n;因为刚刚没有这一部分的时候,执行的结果是这样的:
把while里面的cin>>n;注释掉了之后,在cmd里执行的时候,只能输入数字,但是没有任何的反应。
但其实,这还不是最开始我的想法,刚开始的时候,我写的关于这个“输入一系列整数,统计出正整数个数和负整数个数的时候,读入0则结束”问题第一个代码长这样:
据我推测,这样的程序里,不管你输入了几个数,电脑只把你输入的第一个数进行处理,也就是相当于,你后面输入的都不会被处理。所以,这是为什么要用while语句吗?但在我看来,while语句和if语句一样是在对n进行判断啊,我有点不懂了。我也是现在才真正地意识到,while语句是一个循环语句,if语句是一个判断语句。但还是不太明白它们两个在这里的差异。
另外,细心的话,就会发现,在第一张图上,程序好像在处理到0那个输入之后就停止了对0后面输入的数的判断(这也暴露了我没有认真审题,压根没看见最后说的那句,读入0则结束)但我还是有点糊涂,while语句是怎么执行的啊。(划重点划重点划重点)
有大神帮帮刚入门的小白白吗,不胜感激。