ragazzi vi posto questo problema, che da un loop nell'output fino a che non esce la scritta : segmentation fault. secondo voi da cosa è causato? Grazie.
codice:#include<stdio.h> #include<stdlib.h> void mosse_cavallo(int pos_iniz[],int pos_possibili[][8]); void controllo(int x,int y,int pos_possibili[][8]); int main() { int k,i,j,pos_iniz[2],pos_possibili[2][8]; printf("Inserisci la riga della posizione iniziale del cavallo:\n"); scanf("%d",&pos_iniz[0]); printf("Inserisci la colonna della posizione iniziale del cavallo:\n"); scanf("%d",&pos_iniz[1]); mosse_cavallo(pos_iniz,pos_possibili); printf("Le possibili mosse del cavallo sono:\n"); for(j=0;j<i;j++) {printf("%d",pos_possibili[0][j]); printf("%d",pos_possibili[1][j]); printf("\n"); } } void mosse_cavallo(int pos_iniz[],int pos_possibili[][8]) { int x,y; x=pos_iniz[0]+1; y=pos_iniz[1]+2; controllo(x,y,pos_possibili); x=pos_iniz[0]+1; /* rigo 31 */ y=pos_iniz[1]-2; controllo(x,y,pos_possibili); x=pos_iniz[0]-1; y=pos_iniz[1]+2; controllo(x,y,pos_possibili); x=pos_iniz[0]-1; y=pos_iniz[1]-2; controllo(x,y,pos_possibili); x=pos_iniz[0]+2; y=pos_iniz[1]+1; controllo(x,y,pos_possibili); x=pos_iniz[0]+2; y=pos_iniz[1]-1; controllo(x,y,pos_possibili); x=pos_iniz[0]-2; y=pos_iniz[1]+1; controllo(x,y,pos_possibili); x=pos_iniz[0]-2; y=pos_iniz[1]-1; controllo(x,y,pos_possibili); return; } void controllo(int x,int y,int pos_possibili[][8]) {int i; i=0; if((x>=0)&&(y>=0)) { if((x<8)&&(y<8)) {pos_possibili[0][i]=x; pos_possibili[1][i]=y; i=i+1;} } return; }

 
			
			 
					
					
					
						 Rispondi quotando
  Rispondi quotando