C语言问题不会做了求帮

#include <stdio.h>
int fun(int x,int y,int z)
{     
    return (x=x>y?x:y)>z?x:z;
}

 void main()
{
    int x=100,y=200,z=300,m;
    m=fun (x,y,z);
    printf("%d",m);
}

 

A

 

100

 

 

B

 

200

 

C

 

300

 

D

 

没有输出

选C,300  ,三个数里找到最大值输出。

300哦~

300,函数等价于

int fun(int x,int y,int z)
{
	if(x>y) x=x;
	else x=y;	
	//x=200;
	
	if(x>z) x=x;
	else x=z;
	//x=300
	
	return x;
}