因为printf打印的是值不对,应该打印调用函数max()的结果,而不是直接打印max;
可以将max()函数的返回值用一个变量存储,然后再打印这个变量;或者直接在printf函数里打印max(40,15)的返回值。
修改如下:
参考链接:
#include <stdio.h>
int max(int a,int b){
int ret; // 存储函数返回的结果
if(a>b){ // 如果a大于b,则将a的值赋值给ret
ret=a;
}else{ // 否则,将b的值赋值给ret
ret = b;
}
// 返回ret
return ret;
}
int main(void){
// https://www.cnblogs.com/still-smile/p/11592292.html
// 将调用函数max()的返回值的结果赋值给变量result
int result = max(40,15);
// 打印这个结果
printf("%d",result);
// 或者直接打印max(40,15)的返回值也可以
// printf("\n%d",max(40,15)) ;
return 0;
}
【以下回答由 GPT 生成】
首先,感谢您提供的问题。让我来解答您的问题:
从您提供的代码片段来看,代码似乎不完整,无法判断具体的问题。但是,根据您描述的问题,我可以给出一些可能导致问题的原因以及一些解决方案。
一堆数字的结果可能是由于打印的格式不正确导致的。如果你打印的是整数,你应该使用%d
来格式化输出这些数字,如果是浮点数,则使用%f
。请提供更完整的代码片段,以便我可以更详细地分析问题。
返回语句的作用是将函数的执行结果返回给调用者。在C语言中,函数可以返回一个值,可以没有返回值(使用void
类型声明),也可以返回多个值。返回语句一般用于结束函数的执行并将结果返回给调用者。如果函数没有返回值,可以使用return;
语句来结束函数。
关于printf
语句中使用的max
而不是ret
的原因,这可能是因为您的代码中定义了一个名为max
的变量来存储最大值,并且您想要将其打印出来。请确认您的代码中是否有这样的定义,并确保在使用变量之前已经给它赋了正确的值。
对于以上提到的问题,如果您能提供更完整的代码片段,我将能够给出更具体的解决方案。如果您还有其他问题或需要进一步的解释,请随时告诉我。