gcc不能在函数里面调用其他函数吗?

开发基于GTK+或QT的应用程序
after1990s
帖子: 60
注册时间: 2009-07-21 21:03
送出感谢: 0
接收感谢: 0

gcc不能在函数里面调用其他函数吗?

#1

帖子 after1990s » 2010-12-03 13:36

直接上测试代码

代码: 全选

#include <stdio.h>
  2 #include <stdlib.h>
  3 int main(void)
  4 {
  5     void swap (int *a, int *b);
  6     void bbb(void);
  7     int a=2;
  8     int c=3;
  9     swap (&a, &c);
 10     return 0;
 11 }
 12 void bbb(void)
 13 {
 14     int a=2;
 15     int b=3;
 16     swap (&a, &b);
 17 }
 18 void swap (int *a, int *b)
 19 {   
 20     *a ^= *b;
 21     *b ^= *a;
 22     *a ^= *b;
 23 }
~       
gcc报错

代码: 全选

gcc test.c
test.c: In function ‘bbb’:
test.c:16: error: incompatible implicit declaration of function ‘swap’
test.c:5: note: previous implicit declaration of ‘swap’ was here

头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
送出感谢: 0
接收感谢: 7 次
联系:

Re: gcc不能在函数里面调用其他函数吗?

#2

帖子 BigSnake.NET » 2010-12-03 13:50

C 回炉吧....
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
风间星魂
帖子: 490
注册时间: 2009-06-20 23:53
送出感谢: 3 次
接收感谢: 0

Re: gcc不能在函数里面调用其他函数吗?

#3

帖子 风间星魂 » 2010-12-03 14:05

和gcc无任何关系,怀疑工具前应该先怀疑自己。 :em09
头像
懒蜗牛Gentoo
论坛版主
帖子: 7293
注册时间: 2007-03-02 17:36
送出感谢: 0
接收感谢: 96 次

Re: gcc不能在函数里面调用其他函数吗?

#4

帖子 懒蜗牛Gentoo » 2010-12-03 14:29

代码: 全选

 1 #include <stdio.h>
  2 #include <stdlib.h>

void swap (int *a, int *b);//!!!!!!!!!!!!!!!!!!
void bbb(void);//!!!!!!!!!!!!!!!!!!!!!!

  3 int main(void)
  4 {
  5     //void swap (int *a, int *b);
  6     //void bbb(void);
  7     int a=2;
  8     int c=3;
  9     swap (&a, &c);
10     return 0;
11 }
12 void bbb(void)
13 {
14     int a=2;
15     int b=3;
16     swap (&a, &b);
17 }
18 void swap (int *a, int *b)
19 {   
20     *a ^= *b;
21     *b ^= *a;
22     *a ^= *b;
23 }
回去好好看书
虽然世上没有完美的东西,但这并不影响我们追求完美,因为只有偏执狂才TMD能成功。
10.04新手入门——笨兔兔讲述自己的故事
头像
slax
帖子: 1099
注册时间: 2009-08-17 3:52
送出感谢: 0
接收感谢: 1 次

Re: gcc不能在函数里面调用其他函数吗?

#5

帖子 slax » 2010-12-03 14:44

懒蜗牛Gentoo 写了:
回去好好看书
We believe that the internet should be public, open and accessible.
软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。
iceplayer! linux音乐新体验~ 最新版本4.0.5-20110520已更新!viewtopic.php?f=137&t=252461
想要iceplayer 测试版麼?加入QQ群80071264吧,在code.google也可找到
http://www.iceplayer.org/
http://jasy.ice.blog.163.com/
头像
liu滔
帖子: 7211
注册时间: 2010-10-09 23:01
送出感谢: 5 次
接收感谢: 14 次

Re: gcc不能在函数里面调用其他函数吗?

#6

帖子 liu滔 » 2010-12-03 18:11

gcc没问题,楼主的程序有问题,解决方法:
1.要么就在main()函数前为每一次函数写一个原型声明;
2.要么将所有函数的定义放到main()函数的前面去;
3.再仔细看看书……
thorne
帖子: 660
注册时间: 2008-10-08 22:01
送出感谢: 0
接收感谢: 2 次

Re: gcc不能在函数里面调用其他函数吗?

#7

帖子 thorne » 2010-12-03 19:42

GCC 说: 老子只是一个complier而已! 代码写成啥子样不关我的事儿!

代码: 全选

其实我是个Debian GNU/Linux用户
Octave script :http://forum.ubuntu.org.cn/viewtopic.php?f=35&t=254511
Octave中文:http://forum.ubuntu.org.cn/viewtopic.php?f=35&t=318969
头像
cnkilior
论坛版主
帖子: 4979
注册时间: 2007-08-05 17:40
送出感谢: 0
接收感谢: 5 次

Re: gcc不能在函数里面调用其他函数吗?

#8

帖子 cnkilior » 2010-12-03 19:54

BigSnake.NET 写了:C 回炉吧....
头像
nuanhuai
帖子: 7810
注册时间: 2009-03-10 13:04
送出感谢: 1 次
接收感谢: 0

Re: gcc不能在函数里面调用其他函数吗?

#9

帖子 nuanhuai » 2010-12-03 22:04

我是复读机
C 回炉吧....
after1990s
帖子: 60
注册时间: 2009-07-21 21:03
送出感谢: 0
接收感谢: 0

Re: gcc不能在函数里面调用其他函数吗?

#10

帖子 after1990s » 2010-12-03 23:19

拜谢各位了。

话说vc和vs都没报过错。我就没怎么注意。
头像
Strange
帖子: 1823
注册时间: 2006-05-19 9:54
来自: Shanghai
送出感谢: 2 次
接收感谢: 10 次

Re: gcc不能在函数里面调用其他函数吗?

#11

帖子 Strange » 2010-12-04 8:06

vc真智能
ニンニク入れますか?
x60 with gentoo
头像
slax
帖子: 1099
注册时间: 2009-08-17 3:52
送出感谢: 0
接收感谢: 1 次

Re: gcc不能在函数里面调用其他函数吗?

#12

帖子 slax » 2010-12-04 8:13

after1990s 写了:拜谢各位了。

话说vc和vs都没报过错。我就没怎么注意。
微软的这玩意从来不规范。。。。
We believe that the internet should be public, open and accessible.
软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。
iceplayer! linux音乐新体验~ 最新版本4.0.5-20110520已更新!viewtopic.php?f=137&t=252461
想要iceplayer 测试版麼?加入QQ群80071264吧,在code.google也可找到
http://www.iceplayer.org/
http://jasy.ice.blog.163.com/
风间星魂
帖子: 490
注册时间: 2009-06-20 23:53
送出感谢: 3 次
接收感谢: 0

Re: gcc不能在函数里面调用其他函数吗?

#13

帖子 风间星魂 » 2010-12-04 11:39

我不信vc不报错。
NIrocfz
帖子: 1
注册时间: 2010-12-05 15:22
送出感谢: 0
接收感谢: 0

Re: gcc不能在函数里面调用其他函数吗?

#14

帖子 NIrocfz » 2010-12-05 15:39

倒不是一定非要把那几个函数声明写main函数前面
问题是bbb函数不认识swap函数,在bbb函数体里调用swap之前,加上swap函数的声明也可以
头像
lmlm221
帖子: 169
注册时间: 2006-07-27 23:12
送出感谢: 0
接收感谢: 0

Re: gcc不能在函数里面调用其他函数吗?

#15

帖子 lmlm221 » 2010-12-30 16:35

在k&r写的书里,确实有在一个函数中声明另一个函数的例子。中文版第58页
UBUNTU
回复

回到 “GTK+和QT”