哪里出错了运行不了了

img


请问这个过程哪里出错了,运行的结果是一堆数字
还有return的作用是什么,听的不太明白
最后printf为什么是max而不是ret

因为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;
    
} 


img

img

img

【以下回答由 GPT 生成】

首先,感谢您提供的问题。让我来解答您的问题:

从您提供的代码片段来看,代码似乎不完整,无法判断具体的问题。但是,根据您描述的问题,我可以给出一些可能导致问题的原因以及一些解决方案。

  1. 一堆数字的结果可能是由于打印的格式不正确导致的。如果你打印的是整数,你应该使用%d来格式化输出这些数字,如果是浮点数,则使用%f。请提供更完整的代码片段,以便我可以更详细地分析问题。

  2. 返回语句的作用是将函数的执行结果返回给调用者。在C语言中,函数可以返回一个值,可以没有返回值(使用void类型声明),也可以返回多个值。返回语句一般用于结束函数的执行并将结果返回给调用者。如果函数没有返回值,可以使用return;语句来结束函数。

  3. 关于printf语句中使用的max而不是ret的原因,这可能是因为您的代码中定义了一个名为max的变量来存储最大值,并且您想要将其打印出来。请确认您的代码中是否有这样的定义,并确保在使用变量之前已经给它赋了正确的值。

对于以上提到的问题,如果您能提供更完整的代码片段,我将能够给出更具体的解决方案。如果您还有其他问题或需要进一步的解释,请随时告诉我。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^