标题:关于这2个程序的区别,思路?
只看楼主
FangMengHao
Rank: 1
等 级:新手上路
帖 子:43
专家分:5
注 册:2013-6-19
得分:0 
回复 4楼 火雨流星泪
恩 了解 谢了
2013-06-20 10:38
FangMengHao
Rank: 1
等 级:新手上路
帖 子:43
专家分:5
注 册:2013-6-19
得分:0 
回复 2楼 pauljames
深奥了
2013-06-20 10:39
FangMengHao
Rank: 1
等 级:新手上路
帖 子:43
专家分:5
注 册:2013-6-19
得分:0 
回复 3楼 wyw19880809
恩 懂了 谢谢
2013-06-20 10:40
FangMengHao
Rank: 1
等 级:新手上路
帖 子:43
专家分:5
注 册:2013-6-19
得分:0 
回复 8楼 韶志
函数调用 是调用库函数里的max函数,你的意思是程序1没有算法

那程序2里的max函数有什么用?
2013-06-20 10:43
韶志
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:斗气大陆
等 级:贵宾
威 望:44
帖 子:2223
专家分:13592
注 册:2013-3-22
得分:0 
回复 14楼 FangMengHao
程序1里的max是一个函数,并且是你自己定义的,并不是库函数;
程序2里的max仅仅是一个整型变量,不是函数;

再和你说说函数,比如说scanf、printf就是函数,不过是标准的库函数,不需要用户自己定义;
函数是具备某种功能,scanf输入,printf输出,而你程序1中的max函数的功能就是“求两个数的最大值并返回给main函数”;
对于自己定义的函数,如果函数的定义在main函数(即主函数)之后,则需要先声明函数;如果在main函数之前则可以直接定义,不需声明

下面根据你的程序说明一下;

#include<stdio.h>
int main()
{
  int max(int x,int y);   //这里是对max函数的声明,当然,这条语句也可以放在main之前
  int a,b,c,d,e;
  scanf("%d,%d,%d",&a,&b,&c);
  d=max(a,b);              //这里是对main函数的调用,用来求a和b的最大值,并返回给d
  e=max(d,e);              //同上
  printf("max = %d\n",e);
  return 0;
}

int max(int x,int y)       //这里是对main函数的定义
{
  int z;
  if(x>y)z=x;
  else z=y;
  return(z);
}



程序2

#include<stdio.h>
int main()
{
  int a,b,c,max;         //这里 int max;仅仅是定义一个整型变量max
  printf("please input a,b,c:\n");
  scanf("%d,%d,%d",&a,&b,&c);
  max=a;
  if(max<b)             //if语句的基本格式,多看看书
    max=b;
  if(max<c)
    max=c;
  printf("The largest number is %d\n",max);
  return 0;
}


三十年河东,三十年河西,莫欺少年穷!
2013-06-22 13:05



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-415555-1-1.html




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

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