层层迷雾的外部函数调用问题!
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()是可以,不过整个代码看起来还是很别扭。