为什么打印机打印随机数?

Why prinf prints random number?

这是我的代码。为什么 C 会打印一个随机数,如 3321856? 我知道这是因为它是一个空变量,但为什么是这个数字?是随机的还是有某种原因?

#include <stdio.h>

void main()
{
    int a;
    printf("%d", a);
}

对于初学者,根据 C 标准,不带参数的函数 main 应声明如下。

int main( void )

其次,变量a未初始化且具有不确定的值,因此程序调用未定义的行为。

您需要在输出该值之前用该值初始化变量a,否则输出将是未定义的。

变量 a 在函数 main 的外部块范围内定义,没有存储 class 说明符 static。所以它有自动存储期限。此类变量未隐式初始化。