Online Compiler C

#include <stdio.h> int middle(int x,int y) { int last=1; last = (x+y)/2; }return last; } int main() { int a,b, answer; scanf("%d%d", &a,&b); answer = middle(a,b); printf("%d", middle); return 0; }
这段代码试图计算两个整数的中间值(平均值),但存在几个问题。

- 函数 `middle` 的返回值逻辑有误:`return last;` 被放在了花括号外面,导致函数实际上没有正确返回结果。
- 在 `main` 函数中,`printf` 打印的是函数名 `middle` 而不是变量 `answer`,这会导致输出函数地址而不是计算结果。

- 检查 `middle` 函数中花括号的配对,确保 `return` 语句在函数体内部。
- 检查 `printf` 中打印的是哪个变量,应该打印存储结果的 `answer`。