void spriteput(int x,int y, int stype)
{
char sprite1[5]="OOOO";
char sprite2[5]="OOOO";
char sprite3[5]="OOOO";
char sprite4[5]="OOOO";
if (stype == 1)
{
char sprite1[5] = " OO ";
char sprite2[5] = "OOOO";
char sprite3[5] = "OOOO";
char sprite4[5] = " OO ";
mvprintw(2,y,"%s \n",sprite1);
}
mvprintw(x+1,y,"%s \n",sprite2);
mvprintw(x+2,y,"%s \n",sprite3);
mvprintw(x+3,y,"%s \n",sprite4);
}
私が正しければ、そのコードブロックはNCURSES画面に出力されます
OO
OOOO
OOOO
OO
ただし、代わりに、デフォルトのテキスト(最初のcharステートメント)を出力します。なぜこれなのか誰か教えてもらえますか?Ifブロック内のprintw
ステートメントは適切なテキストを出力するため、正しく割り当てられています。前もって感謝します。