首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

这两题不是没区别吗?为什么一个运行正确一个不对?解决方案

2012-03-03 
这两题不是没区别吗?为什么一个运行正确一个不对?用调用函数找最大值,可我核对了10我分钟还没没发现这两个

这两题不是没区别吗?为什么一个运行正确一个不对?
用调用函数找最大值,可我核对了10我分钟还没没发现这两个程序有什么不同,可运行的结果就大不相同了!前面这个对的,后面这个不对.
不知是哪里出了问题,谢谢.
#include <stdio.h>
int   main()
{
        int   max(int,int);
        int   i,a,m;
        for   (i=0;i <3;i++)
        {
                scanf( "%d ",&a);
                if(i> 0)
                m=max(a,m);
                else
                m=a;
        }
        printf( "max=%d ",m);
        system( "pause ");
        return   0;
}
int   max(int   a,int   m)
{
        if   (a> m)
        m=a;
        return   m;
}


#include   <stdio.h>
int   main()
{
        int   max(int,int);
        int   i,a,m;
        for   (i=0;i <3;i++)
        {
                scanf( "%d ",&a);
                if(i> 0)
                m=max(a,m);
                else
                m=a;
        }
        printf( "max=%d ",m);
        system( "pause ");
        return   0;
}
int   max(int   a,int   m)
{
        if   (a> m);
        m=a;
        return   m;
}

[解决办法]
第二个
if (a> m); 的分号不对
[解决办法]
int max(int a,int m)
{
if (a> m); //这里多了一个分号
m=a;
return m;
}

[解决办法]

int max(int a,int m)
{
if (a> m); // 第二个这里多了一个分号
m=a;
return m;
}

热点排行