换行结束再到下一个循环
建议进入调试模式 一步一步执行就清楚了 也加深代码执行的顺序
对呀,因为你的第二个for里面只有第一个printf,换行的printf是在第二个for循环执行完之后才换行
换行写清楚点就是:
for(i=1;i<=9;i++) {
for(j=1;j<=i;j++)
printf("%d*%d=%-3d",i,j,i*j);
printf("\n");
}
是内循环结束后才执行的,除非你内循环也加括号