Online Compiler C

#include <stdio.h> int main() { int a, b, c,i; scanf("%d %d %d", &a, &b,&c); max(a,b); max(b,c); max(a,c); printf("%d",a) return 0; } int max(int i,int j){ int m; if (i<j){ m=i; i=j; j=m;} }
这段代码试图找出三个整数中的最大值,但存在几个问题。

首先,代码中调用了 `max(a,b)` 等语句,但 `max` 函数没有返回值,也没有将结果赋值给任何变量,所以这些调用实际上没有改变 `a`、`b`、`c` 的值。其次,`max` 函数内部交换了参数的值,但参数是传值调用的,交换不会影响主函数中的变量。另外,`printf` 语句末尾缺少分号。

- 思考一下:`max` 函数应该返回什么?如何让主函数得到最大值?
- 检查 `printf` 语句的语法是否完整。