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

for循环中的问题求解

for循环中的问题求解

C
一杯咖啡_Chen 2016-07-23 10:25:19
int sum,num; for(sum=0,num=0;num<=3&&sum<=5&&1;num++,sum++) 为什么sum<=5还要&&1?
查看完整描述

6 回答

?
qq_看谁都眼熟_03702362

TA贡献2条经验 获得超2个赞

&&逻辑与运算符,具有短路的功能,即前面一个为假,后面不执行,最好是循环里面只写一种条件

查看完整回答
2 反对 回复 2016-07-23
?
Z磊

TA贡献2条经验 获得超1个赞

这样写是错误的。。

		for(int sum=0;sum<=5;sum++){
			for(int num=0;num<=3;num++){

这样才行嘛

查看完整回答
1 反对 回复 2016-07-23
?
江feng

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


&&是双目运算符,从左到右执行,就是判断num<=3&&sum<=5是否为真,再与1进行与运算,前面为真结果自然为真,前面为假结果就为假,这个与1其实也可以不写的。

查看完整回答
1 反对 回复 2016-07-23
  • KXFT
    KXFT
    这样写编译器会报错啊,1改成true才是你说的吧
  • 江feng
    江feng
    编译器报错是因为你的for语句后面没有语句而且没有分号,双目运算符&&的结果是0,1,不是true,false。
?
KXFT

TA贡献113条经验 获得超58个赞

这样写是错的啊,不能这样写

查看完整回答
1 反对 回复 2016-07-23
  • 一杯咖啡_Chen
    一杯咖啡_Chen
    我看代码是这样写的 所以也不知道它是什么意思
  • KXFT
    KXFT
    我在编译器里试了一下,报错了
  • KXFT
    KXFT
    &&连接的是两个布尔类型的数据true和false,1是int类型很明显这个是错的
点击展开后面1
?
霓裳_慕月

TA贡献2条经验 获得超0个赞

如果有多个逻辑运算符,两个,或两个以上,编译器是按从左到有的顺序计算真假的。就是先看第一个&&的真假,再看第二个与的真假,我看你这段代码当num>4的时候就不会执行了

查看完整回答
反对 回复 2016-07-24
  • 6 回答
  • 0 关注
  • 1572 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信