int i=0;i<size&&result==-1我想知道右边运行顺序。拜托各位了_百度知 ...

发布网友 发布时间:2024-10-24 09:38

我来回答

1个回答

热心网友 时间:2024-11-09 15:51

根据优先级,'<'是6级运算符,'=='是7级运算符,而'&&'是11级运算符,所以,应该先运行"i<size",若成立则为非0,否则为0,然后这里涉及到优化问题,若"i<size"为0,则运行结束,不会运行"result==1",若"i<size"为非0,则运行result==1,然后运行&&,与之类似的'||'运算符,若左边的值为非0,则||的右边便不会被运行。例如,int i=1;i++||i++;printf("%d",i);那么输出的i为2,而不是3(因为'||'左边为非0,那么右边便不再运行),同理,int i=0;i++&&i++;printf("%d",i);那么输出的i为1,而不是2('&&'左边为0,那么右边不再运行)

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com