代码 :
foo()
{
}
int main()
{
int a=20;
a = foo(20);
printf("\n\n\t A : %d",a); // will print zero.
}
问题 :
您可能会注意到 foo() 没有返回类型。它被认为是'int',为什么?为什么这个“隐式 int”规则?为什么 C 的设计者如此喜欢'int'?
foo() 没有参数声明,它表示它可以接受可变数量的参数。那么传递的参数到哪里去了?例如 foo(20) 20 去哪儿了?
在上面的例子中 printf 打印为零,为什么?
现在,考虑:
foo()
{
}
int main()
{
int a=20;
a = foo(a);
printf("\n\n\t A : %d",a); // It'll print 20.
}
- 现在 printf 打印 20 为什么不像之前那样打印 0 ?