すみません。初めてこの掲示板を利用させていただくものですが、
質問させて頂いてよろしいでしょうか。
#include <stdio.h>

void main()
{
int A=1,B=2,C=3;int big1=0,big2=0;
if(A>big1>big2){big1=A;}//1>0>0
if(B>big1>big2){big1=B;}//2>1>0
if(C>big1>big2){big1=C;}//3>2>0
//big1=3 big2=0
if(big1>A>big2){big2=A;}//3>1>0 big2=1
if(big1>B>big2){big2=B;}//3>2>1 big2=2
if(big1>C>big2){big2=C;}//3>3>2 big2=2
printf("一番大きい数:%d 二番目に大きい数:%d",big1,big2);
}

この文はA、B、Cの内から一番大きい数と二番目に大きい数をプログラムが
判断して結果を出力するというプログラムです。
本来なら実行結果は(一番大きい数:3 二番目に大きい数:2)となるはずなのに
borlandやvisualC++コンパイラでは(一番大きい数:3 二番目に大きい数:1)と
出力します。これは私の書いたプログラムが悪いのでしょうか。
それとももしかして考えたくはありませんがCのバグなのでしょうか。
真剣に悩んでます。ご指南よろしくお願い致します。