| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 5533 人关注过本帖, 1 人收藏
标题:为什么定义的函数类型总是冲突?
只看楼主 加入收藏
沉默的复仇者
Rank: 2
等 级:论坛游民
帖 子:33
专家分:15
注 册:2012-7-5
结帖率:100%
收藏(1)
 问题点数:0 回复次数:10 
为什么定义的函数类型总是冲突?
定义一个空类型函数总是出错,不知为什么.
    如下代码:

程序代码:
#include<stdio.h>

int main()
{
        int n=5;
        print(n);

        return(0);
}

void print(int n)
{
        printf("\n%d\n",n);
}

    编译时总是提示"warning: conflicting types for 'print'",意思说print函数的类型冲突,但书上是这样子教的.
    我用的编译器是Code Block10.03.
搜索更多相关主题的帖子: 函数 
2012-08-13 19:31
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
#include<stdio.h>

void print(int n)
{
        printf("\n%d\n",n);
}

int main()
{
        int n=5;
        print(n);

        return(0);
}


定义或声明应该在使用函数之前

Code Block10.03

这是IDE不是编译器
2012-08-13 19:40
姻脂梦
Rank: 6Rank: 6
等 级:侠之大者
帖 子:264
专家分:424
注 册:2012-7-3
收藏
得分:0 
无声明,直接使用
2012-08-13 21:54
沉默的复仇者
Rank: 2
等 级:论坛游民
帖 子:33
专家分:15
注 册:2012-7-5
收藏
得分:0 
回复 2楼 zklhp
谢谢

Every thing is possible.
2012-08-24 19:29
菜鸟0
Rank: 2
等 级:论坛游民
帖 子:37
专家分:91
注 册:2012-6-20
收藏
得分:0 
2楼说的有理,定义或声明应该在使用函数之前。2楼把定义放前面了,也可以把申明放前面,定义放哪都行了。。
#include<stdio.h>

int main()
{
        int n=5;
     void print(int n);这一句就是申明了,告诉计算机这个函数在别的地方有定义了,

     print(n);

        return(0);
}

void print(int n)
{
        printf("\n%d\n",n);
}


2012-08-24 21:02
w3236495
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2012-8-23
收藏
得分:0 
printf打错了吧  
2012-08-24 23:03
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
有一个称为函数隐式声明的规则。规则指若遇到未声明的函数,则隐式声明此函数的原型为 返回 int,并以调用参数列表的参数类型为参数列表的类型。
编译器看到 print(n); 知道是函数调用,但它又没见函数原型。因此施用这个规则隐式声明它的原型是 int print(int);

不过后来它又看见了一个同名函数,但类型不同,所以报错是类型冲突。
2012-08-24 23:20
jokerbat
Rank: 2
等 级:论坛游民
帖 子:77
专家分:91
注 册:2012-2-1
收藏
得分:0 
跟帖留着看
2012-08-25 13:16
遗矢的老人
Rank: 9Rank: 9Rank: 9
来 自:成都
等 级:蜘蛛侠
威 望:7
帖 子:325
专家分:1131
注 册:2012-7-20
收藏
得分:0 
C语言的规则问题:先定义再使用,先声明再引用,楼主别忘了啊!!!
2012-08-25 15:31
沉默的复仇者
Rank: 2
等 级:论坛游民
帖 子:33
专家分:15
注 册:2012-7-5
收藏
得分:0 
谢谢.

Every thing is possible.
2012-09-30 09:17
快速回复:为什么定义的函数类型总是冲突?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020298 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved