关于#C语言三个数求最大值#的问题,如何解决?

问题遇到的现象和发生背景

C语言 abc求最大值

大一新生 老师布的作业
问题相关代码,请勿粘贴截图

int max(int a,int b,int c)
{
int d;
if(a>b and a>c)d=a;
(这里)else if(b>c and b>a)d=b;
else d=c;
return (d);
}

运行结果及报错内容

C:\Users\Administrator\Desktop\03.cpp(15) : error C2146: syntax error : missing ';' before identifier 'b'
C:\Users\Administrator\Desktop\03.cpp(15) : error C2059: syntax error : ')'
C:\Users\Administrator\Desktop\03.cpp(15) : error C2146: syntax error : missing ';' before identifier 'd'
C:\Users\Administrator\Desktop\03.cpp(15) : warning C4552: '>' : operator has no effect; expected operator with side-effect
C:\Users\Administrator\Desktop\03.cpp(16) : error C2181: illegal else without matching if
执行 cl.exe 时出错.

我的解答思路和尝试过的方法

说实话,完全不知道怎么错了

我想要达到的结果

我只想知道怎么错了啊,其他方法也没学。就是照着书上弄的啊

and 换成δδ


#include <stdio.h>
int main()
{
    int max(int x, int y,int z);//注意,这个自己写的函数,是在int main()的后面,则这里要声明函数,我建议这里写
    int a,b,c,d;
    scanf("%d%d%d", &a, &b,&c);
    d=max(a,b,c);
    printf("max=%d\n", d);
    return 0;
}
int max(int x, int y,int z)
{
    int r=x;
    if(r<y) r = y;
    if(r<z) r = z;
    return r;
}