比较 a,b,c大小,为什么把return(z); 去掉就不对了?#include "stdio.h"int max(int a,int b,int c){ int z; if (a>=b) { z=a; } else { z=b; } if (z

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/15 08:30:17

比较 a,b,c大小,为什么把return(z); 去掉就不对了?#include "stdio.h"int max(int a,int b,int c){ int z; if (a>=b) { z=a; } else { z=b; } if (z
比较 a,b,c大小,为什么把return(z); 去掉就不对了?
#include "stdio.h"
int max(int a,int b,int c){ int z; if (a>=b) { z=a; } else { z=b; } if (z

比较 a,b,c大小,为什么把return(z); 去掉就不对了?#include "stdio.h"int max(int a,int b,int c){ int z; if (a>=b) { z=a; } else { z=b; } if (z
在函数int max(int a,int b,int c)中,申请的变量int z 是在栈上分配的临时局部变量,和你主函数main中的z变量不是相同的,当你在主函数中调用max函数过后,max函数执行结束如果不把z值返回(就是return(z)),z 的值就会随max函数的执行结束而释放掉,在你的主函数中得不到最大值,而你主函数中的z没有初始化,将是一个不确定的值.

因为你定义了一个max的函数 并且他为int型的 所以必须返回一个int型的参数。

int max(int a,int b,int c){ int z; if (a>=b) { z=a; } else { z=b; } if (zint max的方法要求有返回值,意思是要返回一个int 数值,return z 的意思就是返回Z的值给方法max(),如果不需要返回值,定义方法的时候就要用void max;不明信我

你定义的方法有返回值,所以必须返回一个该类型的返回值