| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 748 人关注过本帖
标题:帮菜鸟看一篇作业,哪里错了?
只看楼主 加入收藏
JackyZhang
Rank: 2
等 级:论坛游民
帖 子:82
专家分:29
注 册:2010-7-12
结帖率:60%
收藏
已结贴  问题点数:10 回复次数:10 
帮菜鸟看一篇作业,哪里错了?
程序代码:
int max(int a,int b)
{
    int max;
    max=(a>b)?a:b;
    return max;

}
main()
{
    int a,b,max;
    scanf("%d%d",&a,&b);
    max=max(a,b);
    printf("max is %d",max);
    getch();

}
老师在讲if else 时讲过这样一个例题:就是比较用户输入的任意两个数的大小然后输出大者。  我想定义个函数 就是比较两个数的大小  如何定义。我的错在哪里了
搜索更多相关主题的帖子: 作业 
2010-07-15 10:16
do8do8do8
Rank: 10Rank: 10Rank: 10
来 自:沙滩
等 级:贵宾
威 望:17
帖 子:366
专家分:1845
注 册:2010-7-2
收藏
得分:0 
头文件要包含一下  虽然不知道你用哪种编译器
#include <stdio.h>
max=max(a,b);/*max不要于max()函数名相同*/
如果相同
出以下错误:
error C2064: term does not evaluate to a function
编译器不能执行函数

[ 本帖最后由 do8do8do8 于 2010-7-15 10:26 编辑 ]

学C语言从底层开始,学编程从问题开始,一日学会C!!!
2010-07-15 10:24
JackyZhang
Rank: 2
等 级:论坛游民
帖 子:82
专家分:29
注 册:2010-7-12
收藏
得分:0 
回复 2楼 do8do8do8
max=max(a,b)是不被允许的  那下面的呢
int max(int a,int b)
{
    int max;
    max=(a>b)?a:b;
    return max;

}
在这里是被允许的吧
只要不出现    变量=同变量名函数  的情况就是被允许的吧

初生牛犊,望多多照顾!
2010-07-15 10:36
do8do8do8
Rank: 10Rank: 10Rank: 10
来 自:沙滩
等 级:贵宾
威 望:17
帖 子:366
专家分:1845
注 册:2010-7-2
收藏
得分:10 
回复 3楼 JackyZhang
全局变量名和函数名不能相同

在同一个作用域范围内 也不能相同
如上面的程序
max()
函数里 就不能用递归了
例一 不能用
int max;
int i;
i=max(a,b);

在main里
你也不能
int i,max;
i=max(a,b);

学C语言从底层开始,学编程从问题开始,一日学会C!!!
2010-07-15 10:49
JackyZhang
Rank: 2
等 级:论坛游民
帖 子:82
专家分:29
注 册:2010-7-12
收藏
得分:0 
回复 4楼 do8do8do8
不明白,你说的什么?什么是全局变量名,在上面的程序中我测试过了,只要不出现max=max(a,b)  程序就可以运行   在函数中是可以的啊

初生牛犊,望多多照顾!
2010-07-15 12:46
_依然_
Rank: 2
等 级:论坛游民
帖 子:5
专家分:12
注 册:2010-7-15
收藏
得分:0 
就是子函数用x,y,z
主函数用a,b,c
我也是菜鸟,刚学C语言第二章而已!自学。。
2010-07-15 13:12
lixiaojun121
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2010-7-12
收藏
得分:0 
以上程序错误的地方在于,变量名不要和函数名相同,你可以给成:int max 改成int z ,变量名可以用其他的任何字母表示,就是不要用max函数名。
2010-07-15 15:14
JackyZhang
Rank: 2
等 级:论坛游民
帖 子:82
专家分:29
注 册:2010-7-12
收藏
得分:0 
回复 7楼 lixiaojun121
我已测试过,变量名可以与函数名相同,只要不出现max=max(a,b)就可以运行 (测试在wintc)

初生牛犊,望多多照顾!
2010-07-15 18:13
sunmingchun
Rank: 4
来 自:安徽-滁州
等 级:业余侠客
帖 子:198
专家分:277
注 册:2010-4-2
收藏
得分:0 
应该没问题吧 我现在也没编译器,有时间看看。
变量名不不能和函数同名的。
2010-07-15 21:40
yph007595
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2008-7-4
收藏
得分:0 
什么错误贴出来!另外我觉得你的scanf()函数写的有问题。scanf("%d,%d"),这两个%d%d中间加个空格或者是逗号试一试,加空格比较好。如果是空格,你输入数据时也要加空格。比如  3空格5.
2010-07-20 11:23
快速回复:帮菜鸟看一篇作业,哪里错了?
数据加载中...
 
   



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

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