출력 에러 문제...
곰돌곰돌
질문 제목 : 출력이 이상하게 나옵니다.저장된값 출력 에러문제질문 내용 : 아래 소스와 같이 있는데요. number[0].type 이랑 onum[2].type 이랑 겹치는지 서로 똑같은 값이 저장되어 버립니다.
typedef struct _player{
char *type;
int x;
int y;
}player;
player number[2];
typedef struct _opp{
char *o_type;
int o_x;
int o_y;
}opp;
opp onum[2];
void playerset(void)
{
int i;
for(i=0;i3;i++)
{
if(i==0) number[i].type = ①;
else if(i==1) number[i].type = ②;
else if(i==2) number[i].type = ③;
}
}
void opponentset(void)
{
int i;
for(i=0;i3;i++)
{
if(i==0) onum[i].o_type =ⓐ;
else if(i==1) onum[i].o_type = ⓑ;
else if(i==2) onum[i].o_type = ⓒ;
}
}
void playerdraw(void)
{
int i,j;
for(i=0;i3;i++){
j=i;
number[j].x = i+1;
number[j].y = 1;
switch(j){
case 0:
gotoxy(map_draw_x + number[j].x * 2, map_draw_y + number[j].y); //player_x,player_y
setcolor(voilet);
printf(%s,number[j].type);
break;
case 1:
gotoxy(map_draw_x + number[j].x * 2, map_draw_y + number[j].y);
setcolor(voilet);
printf(%s,number[j].type);
break;
case 2:
gotoxy(map_draw_x + number[j].x * 2, map_draw_y + number[j].y);
setcolor(voilet);
printf(%s,number[j].type);
break;
}
}
}
void oppdraw(void)
{
int i,j;
for(i=0;i3;i++)
{
j=i;
onum[j].o_x = i+1;
onum[j].o_y = 5;
switch(j){
case 0:
gotoxy(map_draw_x + onum[j].o_x * 2, map_draw_y + onum[j].o_y );
setcolor(red);
printf(%s,onum[j].o_type);
break;
case 1:
gotoxy(map_draw_x + onum[j].o_x * 2, map_draw_y + onum[j].o_y );
setcolor(red);
printf(%s,onum[j].o_type);
break;
case 2:
gotoxy(map_draw_x + onum[j].o_x * 2, map_draw_y + onum[j].o_y );
setcolor(red);
printf(%s,onum[j].o_type);
break;
}
}
}
int main()
{
opponentset();
playerset();
gamedraw();
playerdraw();
oppdraw();
}
아래와 같이 나옵니다. 보라색의 1 은 맞게 나오는데요 빨간색에 1로 나온데가 ⓒ 로 나와야 되거든요. 왜 그런걸까요?