为什么我得到以下输出" -858993460 "使用以下代码时:
#include<stdio.h>
int aNumber(void);
int main()
{
printf("%d", aNumber());
return 0;
}
int aNumber(void) {
int x = 1;
}
我只是好奇。我知道我需要使用&#34; 返回&#34;在我的&#34; printf&#34;
上获得实际的 int 1答案 0 :(得分:2)
因为aNumber
的返回值未定义。由于您没有返回值,因此会出现未定义的行为。不要指望它。在许多机器上EAX
存储返回值。如果您没有EAX
的值,则使用之前的值。