>>799
突っ込みどころ満載だなぁ。

>for(i=y;i<max;i++)a[i]=a[i+1]; max--;
>これの意味は解ったつもりなんですが…

わかってない。

printf("現在の手札は\n");
(*1)for(i=x;i<max;i++)a[i]=a[i+1]; max--;
{
printf(" %d=[%d]",i,a[i]);
}
scanf("%d",&x);
printf("場に出したカード[%d]\n",a[x]);

(*1)はカードの入れ替えなんだから、ここじゃなくて勝敗が決まったあとだろ。
この行は持ちカード全部表示なんだからfor(i=0;i<max;i++)になる。

勝敗が付いたあとで、
for(i=x;i<max;i++)a[i]=a[i+1];
for(i=y;i<max;i++)b[i]=b[i+1];
max--;

あと、maxが0になった場合の処理も必要。