Sun*_*hod 2 c initialization implicit
为什么打印我的值为1,有人可以解释一下吗?
#include<stdio.h>
int main(i)
{
printf("i = %d\n", i);
}
Run Code Online (Sandbox Code Playgroud)
输出i = 1。
C被解释i为类型int- 如果您未声明变量,则其默认类型为int。碰巧的main是,习惯了将其称为int main(int argc, char **argv),因此您i(现在是int)适合该第一个参数。main将仅允许您使用一个参数来调用它,但这在技术上是未定义的行为 -请勿这样做。
第一个值argc是一个数字,详细说明了给定多少个命令行参数。(第二个是这些参数的字符串。)在您的情况下,仅给出了一个命令行参数,即可执行文件的名称(可能是./a.out)。
尝试使用运行代码./a.out some strings here-您会注意到打印了不同的值。
| 归档时间: |
|
| 查看次数: |
78 次 |
| 最近记录: |