我看书上说,i++是先使用i,后i=i+1,而++i则相反,那么在for循环中,为什么不是这样,比如
#include
int main()
{
int i, j,n;
printf("please input:\n");
scanf_s("%d", &n);
for (i = 1;i < n;i++)
{
for (j = 1;j < i;j++)
printf("%4d", j);
printf("\n");
}
getchar() ;
getchar();
return 0;
}
把for (i = 1;i < n;i++)替换为for (i = 1;i < n;++i)运行起来并没有结果上的区别
是否在循环语句中,并不是这样的,还是说我的理解有问题,求解答
而且为什么是先带入i数值,在循环之后才i+1,而不是i+1之后再带入循环,这是不需要理由的吗
那为什么是先用i带入循环,后i+1,而不是把i+1直接带入循环,这个需要理由吗
追答for循环的执行顺序是:对于for(expr1;expr2;expr3){expr4;},①初始化for循环时执行expr1;②判断expr2是否成立,若成立则执行循环,否则跳出循环;③若expr2成立,执行循环体中的expr4;④当循环体内容执行完后,执行expr3;⑤回到②开始下一轮循环。