搞砸了循环找不到逻辑错误

messed up with loops cant find the logical mistake

实际上,我现在正在学习 c 并进行循环练习,结果被一道题搞砸了。

我的代码是:

#include<stdio.h>
void main()
{
  int i,j,k,spc,k;
   printf("\enter the number of rows:");
   scanf("%d",&rows);
   spc=rows+4-1;
   for(i=1;i<=rows;i++)
    { 
      for(k=spc;k>1;k--)
        { printf(" ");
         }
    for(j=1;j<=i:j++)
       printf("*");
    printf("\n")
    spc--;
    }
  }

https://www.w3resource.com/c-programming-exercises/for-loop/c-for-loop-exercises-14.php 这是我现在正在做的练习的他们的答案参考。 你能看出这些代码有什么不同吗? 请帮我。 谢谢

如我所见,您有一些小错误需要修复, 首先是,int i,j,k,spc,k;,这里,'k'写了两次,接下来是scanf("%d",&rows);,但是,rows没有在任何地方声明,在这一行,for(j=1;j<=i:j++),你错过了一个分号并添加了冒号,所以用 for(j=1;j<=i;j++) 替换它,最后一个是 printf("\n") ,在这一行中,你错过了一个分号!对于所需的输出,您只需要在 printf("*"); 中添加一个 space ,即 printf("* ");。就是这样。