int k=1; while(k- -); printf(“%d”,k); 结果为-1为什么

如题所述

注意while(k--)后面有一个分号,相当于while(k--){;} 在循环中执行空语句,k=1时拿去判断同时减1,不等于零,继续;k已经=0,再判断无法通过,同时k减1变成-1
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-01-09
因为当k=0的时候输出 而输出的是0--的结果-1 去看下自增 自减 定理 k--和--k的区别就知道了
第2个回答  推荐于2018-05-18
k--的值是k原来的值,之后k再减1
--k是k先减1,返回的值是减1之后的值
k++,++k同理

当k=0时k--为0(之后k自减1),while跳出,此时k=-1本回答被网友采纳
相似回答