C程序无穷无尽的坑之一--------赋值和判断

被这个赋值=,判断==坑了好多次,下次还会继续被坑。。。。
举个例子:  k=0   和   k == 0

k=0 是把  0 赋值给 k 。
k == 0 判断 k 的值是否为 0。
1.
while( k=0 )是把 k 赋值为 0,同时表达式的结果也是 0,所以while下的循环体不会执行。
a = b 是将b的值传给 a, while(a=b)则表示 b的值传给 a,然后以 a 是否为 0 作为循环条件进行判断。

while( k==0 ),当k 的值为 0 ,则表达式的结果为真,则执行循环。
a==b 是将a 与b的值进行比较,若相等则返回  非0,while(a==b)表示a 是否等于b 作为循环条件进行判断。


2.
for( k=0; k=1; k++)先  k=0,后判断是否满足条件,本例中 k = 1是一个赋值表达式, k = 1的值永远为 1 ,即逻辑真,所以会陷入一个死循环。

for( k=0; k==1; k++) 一样先 初始化 k=0,由于 k =0, 不满足k ==1 这个判断条件,因此该循环不会执行一次。。



  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值