快捷导航

为什么我for循环后i还是为零?

#includeusing namespace std;int main(){        int a[100];        int i,j;        for(i=0;i>a;                if('\r')                        break;        }        cout

免责声明:本内容仅代表回答者见解不代表本站观点,请谨慎对待。

版权声明:作者保留权利,不代表本站立场。

回复

使用道具 举报

参与会员2

循环里面的if语句是要做什么的?如果你是想表达如果输入了回车,应该写成一个判断表达式a=='\r',仅仅是一个字符的话,if判断为真,直接退出循环,那么i当然为0。
回复

使用道具 举报

if后面的括号中是判断条件,为true则执行if中的语句(在这里是break;)。
但是你在if括号中写的是一个字符字面量'\r',它会被判断为true(字符算是整型,而非零整型就被认为是true),所以当你进入循环后(i被赋值为0),然后进入循环体,执行到if语句后由于被判断为true,所以直接执行break;退出了for循环。 所以最终 i 还是0.
回复

使用道具 举报

可能感兴趣的问答

发新帖
  • 微信访问
  • 手机APP