It is compiler-dependent, for example, in GCC the result is
0 50 0.
First, it prints result of comparison k > 40: but k equals 35 and answer is false, converted to int, 0.
Second, assignment k = 50, and result is printed.
Third, comparison k == 35 is printed: but k equals 50 and answer is false, converted to int, 0.
printf("\n %d %d %d",k==35,k=50,k>40);
y the output is executing from right to left
want u to please explain its solution