当前位置: 代码迷 >> C语言 >> 求助...新人问题.. 各位帮忙解决下
  详细解决方案

求助...新人问题.. 各位帮忙解决下

热度:336   发布时间:2008-04-08 13:31:53.0
为什么最后的结果` 老是显示Y的值..不是取的大值啊..
----------------解决方案--------------------------------------------------------
[bo]以下是引用 [un]wangskyyi[/un] 在 2008-4-8 13:27 的发言:[/bo]

谢谢各位...  最后还问下

if(x>y)z=x;
else z=y   不太懂  前面的if  else  指的什么意思..

   不要闲我太罗嗦....

如果x>y,则将X的值赋给Z,否则将Y的值赋给Z。
----------------解决方案--------------------------------------------------------
把main()放到后面就不需要声明了.另外感觉#include<stdlib.h>一句是多余的.

#include"stdio.h"
#include<stdlib.h>
int max(int x,int y)
  {int z;
  if(x>y)z=x;
  else z=y;
  system("pause");
  return(z);
  }
int main(void)
{int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d",c);
}

如果看x,y,z不爽,可以这样改:
#include"stdio.h"
#include<stdlib.h>
int max(int a,int b)
  {int c;
  if(a>b)c=a;
  else c=b;
  system("pause");
  return(c);
  }
int main(void)
{int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d",c);
}

max()函数的简单写法:
int max(int a,int b)
{
  return ((a>b)?a:b);
}
----------------解决方案--------------------------------------------------------
我输入的是8,5    X是大于Y的啊. 不过出来的老是Y值`
----------------解决方案--------------------------------------------------------
LZ:
把你修改后的代码贴 上来。。。。。。。。。
----------------解决方案--------------------------------------------------------
TC的编译器就不要#include<stdlib.h>
stdlib.h中已经有
#define max(a,b)        (((a) > (b)) ? (a) : (b))
这样会造成声明错误
如果你一定要#include<stdlib.h>
就把int max(int x,int y)的函数名换一个

dev c++的加了#include<stdlib.h>也没事.

VC ++的要对int max(int x,int y);声明,声明后就可以用.
----------------解决方案--------------------------------------------------------
你再看看书吧,一般的IF。。。。。。else语句。
也可以用三目运算符简单些
----------------解决方案--------------------------------------------------------
不知道 你们用的是什么编译程序
我试的时候把它删除了(#include<stdlib.h>)
才能运行的
----------------解决方案--------------------------------------------------------
  相关解决方案