for循环中有多个限制结束条件的正确写法

正确写法应该是:

for(i=a,j=b; i<c&&j>d; i++,j--){....}
我以前都是把多个条件用逗号分隔开写。

for(i=a,j=b;i<c,j>d; i++,j--){....}
一直没有什么问题。但是今天我做了一个题,一直找不出来错误,我单步调试,最后终于被我发现,就是这种写法错了。

原来,我之前的写法其实是逗号运算符, i<c,j>d 结果就是j>d的结果~~

要想限制,必须要加上&&

真是笨死了,基础好差啊

 逗号运算符:

       可用于将相关的表达式链接在一起。由于逗号链接表达式从左到右进行计算,因此最右边的表达式的值即为该组合表达式的值。

Example: value = (x = 10, y = 5, x + y);
 
             value = 15;
一些逗号运算符的应用示例:
 
   在for循环中: for ( n = 1, m = 10; n <= m; n++, m++)
 
   在while循环中: while( c = getchar( ), c != ‘\n’ )
 
   数值交换: t = x, x = y, y = t;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值