我用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)
我可以看到两个问题:
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)
它调用未定义的行为,因为z未初始化使用.
while( z!= 0)
^
|
z is uninitialized
Run Code Online (Sandbox Code Playgroud)
您可能会得到预期或意外结果的任何事情.程序也可能崩溃.在不同的编译器上,您可能会得到不同的结果,这就是这里的情况.