层层迷雾的外部函数调用问题!
tt.c
程序代码:#include<stdio.h>
int m=22;
void abcc();
int main(void)
{
abcc(m);
return 0;
}abcc.c
程序代码:#include<stdio.h>
int m;
void abcc(void)
{
printf("%d\n",m);
}编译执行结果如下:
[root@localhost tmp]# gcc -Wall -o test abcc.c tt.c [root@localhost tmp]# ./test 22
看似abcc(m)调用,m值传递成功了,gcc编译也不报错,还能打印出m的值。求解。
但很显然,abcc.c中定义的abcc函数是无参数传递的,abcc(m)就是个错误用法。正确用法是abcc()。
改成abcc()是可以,不过整个代码看起来还是很别扭。









