我是 C 语言的新手程序员。
这是一个程序:
#include <stdio.h>
void main()
{
int a,b, c ;
printf("%d %d %d",a,b,c);
}
输出:
7811664 31 2130567168 (1st time)
4665936 31 2130567168 (2nd time)
我没有得到这个输出?
我是 C 语言的新手程序员。
这是一个程序:
#include <stdio.h>
void main()
{
int a,b, c ;
printf("%d %d %d",a,b,c);
}
输出:
7811664 31 2130567168 (1st time)
4665936 31 2130567168 (2nd time)
我没有得到这个输出?
这些是垃圾值,因为您尚未初始化变量。正如以下链接之一所指出的,未分配的变量具有所谓的不确定状态,可以以任何方式实现,即它的未定义行为。
附带说明:-
垃圾值没有分配,它们在声明时分配给变量,即值已经存在。当您初始化变量时,垃圾值被覆盖
作为参考,您可能想检查这些线程:-
另外值得一提的是 main 应该有一个int
返回类型而不是void
你可以检查这个: -
在 C 和 C++ 中,主函数的函数原型如下所示:
int main(void);
int main();
int main(int argc, char **argv);
int main(int argc, char *argv[]);
你已经声明了变量,这意味着编译器已经为它们分配了内存,但是你还没有初始化它们,这意味着它们的内存包含了程序开始时碰巧出现的任何数据。
由于程序可能并不总是被加载到内存的同一区域,并且由于内存内容可以在运行之间发生变化,因此未初始化的值似乎是随机的。
这完美地展示了您应该始终在使用变量之前对其进行初始化的原因。
为什么不给他们价值?你有未定义的行为