为什么我得到以下输出" ** - 858993460 **"

时间:2016-07-28 01:36:48

标签: c

为什么我得到以下输出" -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

1 个答案:

答案 0 :(得分:2)

因为aNumber的返回值未定义。由于您没有返回值,因此会出现未定义的行为。不要指望它。在许多机器上EAX存储返回值。如果您没有EAX的值,则使用之前的值。