当前位置: 代码迷 >> C语言 >> 自学C语言。。。自己编的各位看看,哪里错啦。
  详细解决方案

自学C语言。。。自己编的各位看看,哪里错啦。

热度:329   发布时间:2004-08-17 05:33:00.0
自学C语言。。。自己编的各位看看,哪里错啦。

int max(int a,int b); main() { int x,y,z; int max(int a,int b); printf("input tuo numbers:\n"); scanf("%d%d",&x,&y); z=max(x,y); printf("maxmun=%d",z); } int max(int a,int b) { if(a>b)return a;else return b;

if(a=b)return a+b;else return a-b;

}

这个那里错拉。。各位高手指点啊!!!!

搜索更多相关的解决方案: C语言  自学  

----------------解决方案--------------------------------------------------------
max里的第二个if中应该是a==b两个等号,而且你的if有大问题,第一个else中就包含了a=b的情况,而第二个else中也包括了第一个if的情况,这样相互包含就乱了。最后还有一点就是main里的最后一句中应该是maxnum,不是maxmun~~
----------------解决方案--------------------------------------------------------
还有就是你的max函数在最前面已经声明了,在main里就不用再声明一遍了
----------------解决方案--------------------------------------------------------
[原创]

我是新手,也来试一下。 #include <stdio.h> //declare function prototype int max(int a, int b); int main() { int x, y, z; printf("Please input two numbers:\n"); scanf("%d%d", &x, &y); int max(int x, int y); //谢谢艺楠的指点,这一名真是多余,删除。 z = max(x, y); printf("maxmum = %d", z); return 0; } int max(int a, int b) { if(a > = b) return a; else return b; /*下面的一句看不懂? if(a = b) return a + b; else return a - b; */ }

[此贴子已经被作者于2004-08-18 13:09:14编辑过]


----------------解决方案--------------------------------------------------------

我给你修改了一下 不知道可不可以 至于你说看不懂的地方我也不知道为什么 编译能通过 但是却解释不了。。。。。。。

#include <stdio.h>

int max(int a, int b);

int main() { int x, y, z; printf("Please input two numbers:\n"); scanf("%d%d", &x, &y);

z = max(x, y); printf("maxmum = %d", z);

return 0; }

int max(int a, int b) { if(a>=b) return a; else return b;

if(a = b) return a + b; else return a - b;

}


----------------解决方案--------------------------------------------------------
if(a=b)return a+b;else return a-b;该语句没有作用
----------------解决方案--------------------------------------------------------
if括号里面应该是判断语句判断相等用==而不是用赋值语句=
----------------解决方案--------------------------------------------------------

if(a=b)return a+b;else return a-b;这一句确实没有用,因为无论a或b是什么值,

if(a>=b) return a; else return b;

这一个条件语句已经够了,它总有一个返回值,所以下面的那个:

if(a = b) return a + b; else return a - b;

还没有执行就已经返回一个值给主函数了.(个人意见)


----------------解决方案--------------------------------------------------------

return 0;

这句有什么用?


----------------解决方案--------------------------------------------------------

#include <stdio.h>

int max(int a,int b); int main() { int x,y,z; int max(int a,int b); printf("input tuo numbers:\n"); scanf("%d%d",&x,&y); z=max(x,y); printf("maxmun=%d",z);

return 0; }

int max(int a,int b) { if(a>b) return a;

else if(a=b) return a+b;

else if return a-b;

else return b;

}


----------------解决方案--------------------------------------------------------
  相关解决方案