Cの勉強をしたって書いてあるけど、経験が無くて使い方がわからないんじゃないかと推測。
彼はプログラムの概念をわかっていないように見えるし、レスもよくわからないから的外れだったら申し訳ない。

たぶん彼が言いたいことはこう。

まず以下のように書くとA、B、Cの順で描画される。
LoadGraphScreen( A.x , A.y , "A.bmp" , TRUE ) ;
LoadGraphScreen( B.x , B.y , "B.bmp" , TRUE ) ;
LoadGraphScreen( C.x , C.y , "C.bmp" , TRUE ) ;

けれどもこの時y座標の大きい順に描画したい。
例えばC、A、Bの順に大きかったら、以下のようになると良し。
LoadGraphScreen( C.x , C.y , "C.bmp" , TRUE ) ;
LoadGraphScreen( A.x , A.y , "A.bmp" , TRUE ) ;
LoadGraphScreen( B.x , B.y , "B.bmp" , TRUE ) ;

つまり、彼は描画順序を入れ替えたいんだけど、その手段としてソース上で順序を入れ替えないといけないと思っているんじゃないかな。

二つに限定して、且つ超初歩的にやればこれでいいんじゃないの?
もちろん配列でソートでって方が汎用性高いのはわかってる。

if(ch.y > tk.y){
LoadGraphScreen( ch.x , ch.y , "test1.bmp" , TRUE ) ;
LoadGraphScreen( tk.x , tk.y , "test2.bmp" , TRUE ) ;
}else{
LoadGraphScreen( tk.x , tk.y , "test2.bmp" , TRUE ) ;
LoadGraphScreen( ch.x , ch.y , "test1.bmp" , TRUE ) ;
}