数组数据读入写法

for(int i=0;i<total && scanf("%d",&buf[i])>0;i++)
;

注意这样的写法是正确的,但是

for(int i=0;scanf("%d",&buf[i])>0 && i<total;i++)

;像这样将读入和下标判断反过来就会出错,会造成多读入一个数据。

因为&&运算符的原因,先计算i<total就可直接判断该语句为假,不用再执行一次读入指令。

posted @ 2013-02-28 20:53  ideawu  阅读(254)  评论(0编辑  收藏  举报