El problema es el siguiente: Cuando almaceno datos de tipo char para guardarlos en el puntero Matriz se salta siempre una posición y no me deja ingresar el valor de esa posición que se "salto", pero si cambio el tipo de valor a int no se lo salta el código fuente es el siguiente:
Código :
#include <stdio.h> #include <stdlib.h> int i, j, N; char **Matriz; int main(void){ puts("Dame el valor de N:\t "); scanf("%d",&N); Matriz = ((char **) malloc (N*sizeof(char*))); if (Matriz != NULL) { for (i=0; i<N; i++) *(Matriz+i) = ((char *)malloc(N*sizeof(char))); }else{ puts("ERROR: Memoria Insuficiente!"); exit(-1); } for(i=0; i<N; i++){ for(j=0; j<N; j++){ printf("[%d][%d] : ", i+1, j+1); scanf("%c", &Matriz[i][j]); } } for(i=0; i<N; i++){ for(j=0; j<N; j++){ printf("[%d][%d] : %c\n", i+1, j+1, Matriz[i][j]); } } system("pause"); return 0; }
Ojala me haya podido explicar y me puedan ayudar, un saludo .