【发布时间】:2020-11-24 21:46:21
【问题描述】:
#include <stdio.h>
void main(int x)
{
printf("%d",x);
return 0;
}
如果我们在 main() 函数中打印 x 值,它将显示 0 并且 int 的默认值为 0。 当我在 main() 中添加 int x 作为参数时,它打印 x 值为 1。 为什么?
【问题讨论】:
-
这能回答你的问题吗? What does int argc, char *argv[] mean?
-
我以前从未见过像这样的
main,但我认为它会给出 1,因为 main 的第一个 arg 可以是argc -
main接收两个参数,argc和argv,看这里它们的含义:stackoverflow.com/questions/3024197/…。 -
"因为 int 的默认值为 0" 你为什么这么认为?没有默认值”。访问未初始化的变量是未定义的行为。
-
@WilliamPursell 除非它是静态的