| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1226 人关注过本帖
标题:请问我这是哪里错了????
只看楼主 加入收藏
qqoo6789
Rank: 1
等 级:新手上路
帖 子:34
专家分:7
注 册:2013-7-11
结帖率:87.5%
收藏
已结贴  问题点数:20 回复次数:14 
请问我这是哪里错了????
#include <stdio.h>
main()
{
int a,b;
scanf("%d,%d",&a,&b);
max=(a,b);
printf("最大值=%d",max);
return 0;
}
int max(int x,int y)
{int z;
if(x>=y)z=x;
else z=y;
return(z);
}


这是一个求最大值的简单编程。但是到底是哪里错了???大虾们



--------------------Configuration: Cpp1 - Win32 Debug--------------------
Compiling...
Cpp1.cpp
C:\Users\FLY\Desktop\Cpp1.cpp(6) : error C2065: 'max' : undeclared identifier
C:\Users\FLY\Desktop\Cpp1.cpp(11) : error C2373: 'max' : redefinition; different type modifiers
Ö´ÐÐ cl.exe ʱ³ö´í.

Cpp1.obj - 1 error(s), 0 warning(s)



[ 本帖最后由 qqoo6789 于 2013-7-11 22:52 编辑 ]
搜索更多相关主题的帖子: different Desktop include return 最大值 
2013-07-11 22:49
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
生命0

DO IT YOURSELF !
2013-07-11 22:51
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
收藏
得分:0 
#include <stdio.h>
int max(int x,int y);
int main()
 { int a,b,c;
 scanf("%d,%d",&a,&b);
max=(a,b);
 printf("最大值=%d",max);
 return 0; }
 int max(int x,int y)
 {int z;
 if(x>=y)z=x;
else z=y; return(z); }

思考赐予新生,时间在于定义
2013-07-11 22:55
qqoo6789
Rank: 1
等 级:新手上路
帖 子:34
专家分:7
注 册:2013-7-11
收藏
得分:0 
回复 3楼 love云彩
我执行了你的,也有错!!!
2013-07-11 22:58
好学一世界
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2013-6-26
收藏
得分:0 
调用max前没有对函数声明
2013-07-11 23:01
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
收藏
得分:0 
if(x>y)就可以了,不必要加等号,如果两个数相等,那比较没意思啦!
你的错误就是没有在主函数调用max()函数之前声明max()函数,你的max函数在主函数后面定义,而主函数在max函数声明之前就调用它了,这样会出错的,主要是要在主函数调用max函数之前先声明它
改正:在主函数前先声明max()函数!
这样解释明白了吗?

思考赐予新生,时间在于定义
2013-07-11 23:05
qqoo6789
Rank: 1
等 级:新手上路
帖 子:34
专家分:7
注 册:2013-7-11
收藏
得分:0 
回复 6楼 love云彩
那申明了,还是不对呢?

 #include <stdio.h>
int max(int x,int y);
 main()
{ int a,b;
scanf("%d,%d",&a,&b);
max=(a,b);                  \*这一句错在哪了*\
printf("最大值=%d",max);
return 0; }
int max(int x,int y)
{int z;
if(x>y)z=x;
else z=y;
 return(z);
}

2013-07-11 23:13
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
收藏
得分:0 
没上机操作过楼主贴上来的代码,不知道有问题,所以我重新写了一遍,绝对正确了,楼主可以拿来参考
程序代码:
#include<stdio.h>
int max(int x,int y)
{
    int z;
    if(x>y)
        return z=x;
    if(x<y)
        return z=y;
}
int main()
{
    int a,b,c;
    printf("请输入两个数字:");
    scanf("%d,%d",&a,&b);
    c=max(a,b);
    printf("最大值为:%d\n",c);
    return 0;
}


思考赐予新生,时间在于定义
2013-07-11 23:20
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
收藏
得分:20 
或者可以按照楼主本来的代码稍微修改一下,主要是max()函数,代码如下:
程序代码:
#include<stdio.h>
int max(int x,int y)
{
    int z;
    if(x>y)
    z=x;
    if(x<y)
    z=y;
    return z;
}
int main()
{
    int a,b,c;
    printf("请输入两个数字:");
    scanf("%d,%d",&a,&b);
    c=max(a,b);
    printf("最大值为:%d\n",c);
    return 0;
}



思考赐予新生,时间在于定义
2013-07-11 23:24
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
收藏
得分:0 
再唠叨一句吧!就是怕楼主在运行的时候粗心,因为scanf("%d,%d",&a,&b);这里面的格式是"%d,%d",所以在运行界面输入数字的时候,要用英文格式的","来隔开,知道了吗?
如下图:

图片附件: 游客没有浏览图片的权限,请 登录注册

这样唠叨到底,楼主彻底明白了没有?

思考赐予新生,时间在于定义
2013-07-11 23:30
快速回复:请问我这是哪里错了????
数据加载中...
 
   



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

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