如果你没写错的话,那就是答案错了!你可以试一下下面程序看输出几个"1“,绝对是一个
#include
int main()
{
int i,j;
for(i=0,j=1;i<=j+1;i+=2,j--)
{
printf("1");
}
}
三次!
第一次循环:
i=0,j=1;j+1=2,i=0,i<=j成立;
输出0
i+=2(等同于i=i+2),i=2,j--,j=1
第二次循环:
j+1=2,i=2,i<=j成立;
输出2
i+=2(i=4),i=2,j--,j=1
第三次循环:
j+1=2,i=4,i<=j不成立;退出循环执行后续语句。
循环一次,你可以单步调试看看,
第一次i=0;j=1; >>>> 0<=1+1; 循环1次;
第二次 i+2<=(j--)+1 2<=1 不成立 退出循环
答案错了,只能循环一次
循环了1 次,应该是答案错了