请问各位for循环内嵌的循环为什么不能加花括号{}?

不加{}时候这样可以正常运行

img


加了之后就会出错了

img


请问各位为什么for循环里面的for循环不可以加{}呀,那推广开来想如果是if语句呢?

花括号加错位置了呀。因为for不加花括号的时候只包含下面那一句话,所以其实不加花括号的时候printf("\n")是不包含在内的,但是你加花括号的时候又加在里面了呀,所以应该是

for (k = 0; k <= 2 * i; k++) {
  printf("*");
}
printf("\n");

不加{}for循环只执行后面一条语句,加了{}执行括号里面的全部语句