我才刚刚开始学习C编程,所以我还不是真正的高级。忍受我!

我有这段代码,我想很容易理解我要做什么。但是我收到一个错误消息,说最后一个else在没有if的情况下被调用。

我怀疑问题出在if和else之间的if-else语句。你们将如何解决?

int talet;
scanf("%d", &talet);

int i = 1;
while (i <= 99) {
  int a; {
    if (i % talet == 0 || talet == (i / 10) % 10 || talet == i % 10) {
      if (talet % 10 == 0)
        printf("\n");
      else
        continue;
    }
    printf("burr ");
    else
      printf("%d ", i);
  }
  i = i + 1;
}

最佳答案

问题在于您的括号。缩进对于了解在何处打开和关闭括号很重要

int talet;
scanf("%d",&talet);

int i=1;
while(i<=99)
{
int a;

    if (i%talet==0 || talet==(i/10)%10 ||talet==i%10)
    {
             if (talet%10==0)
                  printf("\n");
             else
                  continue;

        printf("burr ");
    }
    else
    {
        printf("%d ",i);
    }
    i=i+1;
}

关于c - 没有其他“如果”的“其他”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28325228/

10-11 15:13