LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 919|回复: 1

gcc编译时未进行函数声明引起的问题

[复制链接]
发表于 2006-2-22 10:03:56 | 显示全部楼层 |阅读模式
#include <stdio.h>
#include <stdlib.h>

int main()
{
int a,b,c;
printf("请输入两个整数,以逗号分隔:");
scanf("%d,%d",&a,&b);
c=max(a,b,c);
printf("%d和%d中的较大数是%d",a,b,c);
return 0;
}

int max(int a,int b){
    int t=a;
    if(t<b)
        t=b;
    return t;
}

编译结果:warning: implicit declaration of function 'max'
为什么只是给出警告而不是错误?
在函数调用时,c还没有初始化,为什么不给出警告?
为什么程序运行还能得到正确的结果?
发表于 2006-2-22 13:38:24 | 显示全部楼层
是不是使用了其它库的 max 函数了? 你把函数名改成 my_max试试
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表