这段代码中,为什么我测试的结果总是1
、2
、3
?
#include <stdio.h>
void test() {
int a;
a++;
printf("%d",a);
}
int main(int argc, char *argv[]) {
test();
test();
test();
}
我认为 test()
中的变量是静态的,不是吗?为什么?
最佳答案
变量不是静态的。您正在访问一个未初始化的变量。行为未定义。
关于c - 为什么未初始化的局部变量总是具有相同的初始值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14646490/