C语言学习笔记——调用函数时提示警告
来源:互联网 发布:软件系统开发培训教材 编辑:程序博客网 时间:2024/05/16 18:32
【代码】
int main()
{
abc();
abc3();
return 0;
}
void abc()
{
int a=65135;
double i=8256.67;
a=(int)i+a;
printf("\n%d,%f\n",a,i);
}
{
abc();
abc3();
return 0;
}
void abc()
{
int a=65135;
double i=8256.67;
a=(int)i+a;
printf("\n%d,%f\n",a,i);
}
【问题】
编译时报如下错误:
||=== Build: Debug in c_20170822 (compiler: GNU GCC Compiler) ===|
C:\新建文件夹\c_20170822\main.c||In function 'main':|
C:\新建文件夹\c_20170822\main.c|25|warning: implicit declaration of function 'abc' [-Wimplicit-function-declaration]|
C:\新建文件夹\c_20170822\main.c|29|warning: conflicting types for 'abc'|
C:\新建文件夹\c_20170822\main.c|25|note: previous implicit declaration of 'abc' was here|
||=== Build finished: 0 error(s), 2 warning(s) (0 minute(s), 0 second(s)) ===|
C:\新建文件夹\c_20170822\main.c||In function 'main':|
C:\新建文件夹\c_20170822\main.c|25|warning: implicit declaration of function 'abc' [-Wimplicit-function-declaration]|
C:\新建文件夹\c_20170822\main.c|29|warning: conflicting types for 'abc'|
C:\新建文件夹\c_20170822\main.c|25|note: previous implicit declaration of 'abc' was here|
||=== Build finished: 0 error(s), 2 warning(s) (0 minute(s), 0 second(s)) ===|
【原因】
1、错误为在一个函数定义之前就去引用它了,这在C语言里是不允许的,尽管void 类型的可以,但是还会提示警告。
2、函数在后面定义先要在前面声明,否则编译器GCC默认abc()返回值类型为int了。所以之后运行到void abc()时,出现|warning: conflicting types for 'abc'|,因为与前面发生冲突。
【解决】
1、把函数放在main()前面书写,即“定义在前,调用在后”。
2、或者可以将其函数名统一写在main() 前边进行函数原型声明。如把void abc()加到main()前边。
阅读全文
0 0
- C语言学习笔记——调用函数时提示警告
- 学习笔记——strstr函数的C语言实现,不调用库函数
- c语言学习笔记(8)——函数
- C语言 — 函数调用过程。
- C语言学习—函数
- C语言学习-调用自定义函数
- 在c语言中自定义了一个函数,在main中调用时提示找不到标识符
- C语言笔记之警告的总结
- C语言之函数调用12—递归法求阿克曼函数
- c语言笔记——scanf函数
- 学习笔记——strlen、strcpy、memcpy的c语言实现,不调用库函数
- lua学习笔记(2)——C语言调用lua的使用和测试
- C语言函数调用
- 【C语言】调用函数
- C语言函数调用
- C语言学习笔记(九)--函数
- IOS学习笔记06---C语言函数
- 【C语言学习笔记】qsort函数总结
- Linux----进程间的管道通信
- 安卓升级8.0后,再次带来新的黑科技,让你没想到是这个
- Set集合
- 【读书笔记:疯狂java讲义】java面向对象
- spring不常遇到的问题
- C语言学习笔记——调用函数时提示警告
- eclipse vm插件的安装
- [转]Base64加密原理及代码实现
- SS 速飞跃 (shadow-socks)
- C++ Socket通信
- HTML+CSS段落样式裁剪,word-break;word-wrap;
- zcmu-1643 报数游戏
- 判断是否是搜索二叉树
- Android开发艺术探索学习笔记 1