首页 文章

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

提问于
浏览
-3

为什么在使用以下代码时会得到以下输出“ -858993460 ”:

#include<stdio.h>

int aNumber(void);

int main()
{   
    printf("%d", aNumber());    
    return 0;   
}

int aNumber(void) {
    int x = 1;
}

我只是好奇 . 我知道我需要使用“ return ”来获取我"printf"上的实际 int 1

1 回答

  • 2

    因为 aNumber 的返回值未定义 . 因为你不会指望它 . 在许多机器上 EAX 存储返回值 . 如果 EAX 没有值,则使用之前的值 .

相关问题