为什么输出的是4个#而不是请问为什么不是i为2执行一次i为3执行两次,i为4执行三次总共6个#

int i,j; char ch='#'; for (i=1;i<5;i++); for (j=2;j<=i;j++) putchar(ch);

你没有写成嵌套的形式吧,你这样子看上去是i的for循环后面加了;所以是个空的,到j的for循环变成了for(j=2;j<5;j++) putchar(ch); 所以输出了四个

int i,j;
char ch='#'for(i=1;j<5i++)
{
  for(j=2;j<i;j++)
      putchar(ch);
}


for (i = 1; i < 5; i++); //该语句执行完后,i=5
    for (j = 2; j <= i; j++) //执行条件:j<=5.所以执行4次(j=2345