Я хочу прочитать элементы массива, определенные в основной функции, через другую пользовательскую функцию. Массив является двумерным, и он правильно показывает первые три элемента, но при следующем l oop начинается адрес, на который указывает этот указатель, на 2 шага назад от намеченного адреса. Почему это? Вот основная функция, вызывающая функцию frame (), где проблема заключается в следующем:
void main(){
char dec,player[2][20];
int i,counter=0,palo,winner=0;
for(i=0;i<2;i++){
printf("Enter Player%d's name: ",(i+1));
scanf("%s",player[i]); //ASK PLAYER NAME
}
startAgain: //GAME RESTART POINT
system("cls");
palo=0;
char spot[][3]={"123","456","789"};
//------------------MAIN GAME AREA-------------------------------
for(counter=0;counter<9;counter++,palo++){
frame(*spot);
read(&palo,*spot,*player);
palo %=2;
}
}
Вот функция frame ():
void frame(char *count){
int i,j;
printf("\t\t\t");
line(24);
for (i = 0; i < 3; i++){
printf("\t\t\t");
for (j = 0; j < 3; j++){
printf("| %c ",(*(count+i)+j));
}
printf("|\n\t\t\t");
line(24);
}
}
Предполагаемый результат:
1 2 3
4 5 6
7 8 9
Что отображается:
1 2 3
2 3 4
3 4 5