数组数据读入写法

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就可直接判断该语句为假,不用再执行一次读入指令。

原文地址:https://www.cnblogs.com/ideawu1001/p/2937716.html