Can';不要离开环路

Can';不要离开环路,c,loops,goto,C,Loops,Goto,我用C语言编写了一些小代码来测试一些东西。我认为如果我写0,我将收到输出ABC。但我不能离开这个循环。请帮帮我。多谢各位 #include<stdio.h> #include<stdlib.h> int main() { int x; while(1) { printf("Enter number\n"); scanf("%d",&x); if(x=0) goto stop; } stop:

我用C语言编写了一些小代码来测试一些东西。我认为如果我写0,我将收到输出ABC。但我不能离开这个循环。请帮帮我。多谢各位

#include<stdio.h>
#include<stdlib.h>

int main()
{

int x;

while(1)
    {
    printf("Enter number\n");
    scanf("%d",&x);
    if(x=0)
        goto stop;
    }

stop:
    printf("ABC");

return 0;
}
#包括
#包括
int main()
{
int x;
而(1)
{
printf(“输入编号”);
scanf(“%d”和&x);
如果(x=0)
转到停止;
}
停止:
printf(“ABC”);
返回0;
}
代码错误 代码

如果(x=0)

应改为

如果(x==0)

更改行

     if(x=0)


最初您将0指定给x,但您希望进行比较。要将x与0进行比较,您需要使用==

,正如其他人所指出的那样,c中的一个等号是赋值,而双等号测试是否相等。在这种情况下,需要双等号。所以不是 如果(x=0),则需要(x==0)
还有一个提示,在这里使用break比goto语句更可取。
希望这有帮助。

如果(x=0)
正在赋值,而不是比较。另外,不要
转到stop。。。只是
break >使用<代码> >=<代码>代替<代码> >代码> > < <代码> >请不要使用<代码> GOTO < /COD> >,您可以只在“循环”中编写代码>破解< /代码>,您应该测试YA的结果,可以考虑告诉他。BTW,如果您在编译器中启用所有警告和调试信息,您将被警告为“代码> Gcc-Walth-Wop-G/<代码>
     if (x==0)