Ich versuche, die Position einiger Zeichen im Array zu bekommen. Ich benutze diesen Code unten, aber nachdem ich nur zwei Zeichen eingegeben habe, habe ich Laufzeitfehler bekommen.Laufzeitfehler in getche Funktion
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main()
{
char board [8][8]={{0}};
char kr,kc,qr,qc,nr,nc;
unsigned char i,j;
for (i = 0; i < 8 ;i++)
{
for (j = 'A'; j <= 'H'; j++)
{
board[i][j] = getche();
}
}
for (i = 0; i < 8 ;i++)
{
for (j = 0; j < 9; j++)
{
if (board[i][j] == 'K')
{
kr = i;
kc = j;
}
else if (board[i][j] == 'Q')
{
qr = i;
qc = j;
}
else if (board[i][j] == 'N')
{
nr = i;
nc = j;
}
}
}
printf("Q = %i %c K = %i %c N = %i %c",qr,qc,kr,kc,nr,nc);
return 0;
}
Wenn ich die Art von i
und j
-unsigned int
, Programm läuft, aber druckt falsche Werte ändern und nach dem Druck geht Zeitfehler laufen.
Gute Antwort 1, aber ich neugierig nach wie vor über das, was OP tun will mit 'für (j = 'A'; j <= 'H'; j ++)' – LPs