I am trying to get this to work. I think I am close.

I am asking users to input for a matrix.

num rows and num columns;

I then want them to input each value that they want in each row.
It complies, and I am pretty sure the pointers are allocated correctly.
I think the loop is not inputing each user input for the values.

Code:
#include "stdafx.h"
#include "math.h"

int main(int argc, char* argv)
{
	int i,j;
	int **matrix = NULL;
	int numRows;
	int numCol;	
	
	printf( "Enter the number of    rows:  ");
	scanf( " %d", &numRows);
	printf( "Enter the number of columns:  ");
	scanf( " %d", &numCol);	
	
	matrix = malloc(numRows * sizeof(*matrix));
	
	for (i = 0; i < numRows; i++)
	{
		matrix[i] = malloc(numCol * sizeof(*matrix[i]));
		printf( "Enter the values in row %d: ", i + 1);
		for (j = 0; j < numCol; j++)
		{
			matrix[i][j] = getchar();		
		}
	}

	for (i = 0; i < numRows; i++)
	{
		for (j = 0; j < numCol; j++)
		{
			printf("%d",matrix[i][j]);
		}
		printf("\n");
	}
	
	for (i = 0; i < numRows; i++)
	{
		free(matrix[i]);
	}
	
	free(matrix);	
	return 0;
}
I think this is not efficient
Code:
matrix[i][j] = getchar();
Am I blind??