函数传入参数个数错误,C语言警告都不报一个?
int foo();
int bar();
int main(void)
{
return foo(2, 3, 4); //3个参数
return 0;
}
int foo(int a, int b)
{
return bar(a); //1个参数
}
int bar(int c, int d) //2个参数
{
int e = c + d;
return e;
}
如上程序,编译的时候不报任何警告,执行结果还是对的,无语啊无语。 难怪用C
的都是超高手,我用了5年java,在来学C非常地痛苦。。。。
aray@aray:~/C$ gcc -g -Wall test.c
aray@aray:~/C$ ./a.out
aray@aray:~/C$ echo $?
5
PS: 我想学Linux下的C编程,在本论坛提出问题好呢? 还是把问题贴到“开发语言 ==> C/C++ ==> C语言”好?