使用未初始化的全局变量(用于读取和写入)可以吗?

Jay*_*esh -3 c variables initialization global-variables

如果我在C程序中使用未初始化的全局变量,会发生什么?是不确定的行为?

#include <stdio.h>

int i;

int main() 
{
    while(i < 5)
    {
        i++;
    }
    printf("%d\n", i);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

hac*_*cks 6

是不确定的行为?

没有.

怎么了?

i具有静态存储持续时间(文件范围).它默认初始化为零.