在Devc中打印

Mas*_*adi 1 c

我用dev编写了一个简单的代码,但它没有返回任何东西.但是代码块的答案显示.问题是什么?

#include <stdio.h>

int main() {
    int x,y,z;
    scanf("%d%d",&x,&y);
    while(z!=0){
        z=x%y;
        printf("%d",z);
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

Dig*_*ity 8

我可以看到两个问题:

1. Value to z is un-assigned. So garbage.
2. Value of z will not change, so it's infinite loop.
Run Code Online (Sandbox Code Playgroud)


hac*_*cks 7

它调用未定义的行为,因为z未初始化使用.

while( z!= 0)  
       ^
       |
     z is uninitialized  
Run Code Online (Sandbox Code Playgroud)

您可能会得到预期或意外结果的任何事情.程序也可能崩溃.在不同的编译器上,您可能会得到不同的结果,这就是这里的情况.