- //#include <stdio.h>
- int main()
- {
- printf("OK");
- return 0;
- }
复制代码
testStdio.c
注释掉stdio.h 之后 编译出以下警告 ,警告就是意味着可以运行
cc testStdio.c -o testStdio
:
testStdio.c:5:2: warning: implicitly declaring library function 'printf' with
type 'int (const char *, ...)'
printf("OK");
^
testStdio.c:5:2: note: please include the header <stdio.h> or explicitly provide
a declaration for 'printf'
1 warning generated.
生成了可执行文件 testStdio
./testStdio 运行
XXX-fafda:cprogram keycola$ ./testStdio
OK
运行 还是可以的
加上头文件,编译遇到之后就会去找那个函数的地址
而用户自定义的函数,
- #include <stdio.h>
- int main()
- {
- printf("OK");
- test();
- return 0;
- }
- void test();
- {
- printf("\n test\n");
- }
复制代码
testStdio.c:6:2: warning: implicit declaration of function 'test' is invalid in
C99 [-Wimplicit-function-declaration]
test();
^
testStdio.c:10:6: error: conflicting types for 'test'
void test();
^
testStdio.c:6:2: note: previous implicit declaration is here
test();
^
testStdio.c:11:1: error: expected identifier or '('
{
^
1 warning and 2 errors generated.
直接出错误了,编译是从第一行到最后一行,所以自定义函数 要在 使用这个函数的上面,或者声明 |