void main() { uint32_t t1=5,t2=10; uint8_t i,t3=0,t4=0; for(i=0;i<10;i++) { if(t1*+i < t2)//不报错 知识盲区了 { t3++; } else { t4++; } } printf("t3=%d,t4=%d",t3,t4); while(1); }
t1*i < == > t1*+i
是不是你把警告屏蔽了?
把 t1*+i 里面的+号,当成了 i 的正负号。 换成负号,也不报错,结果变成t1乘负的i。