I can't figure out why this would cause a segmentation fault if n < MAXROWS. I'm pretty sure my array bounds are fine as well. Any ideas?
Code:
#include <stdio.h>
#include <stdlib.h>
#define TOLERANCE 1E-6
#define MAXROWS 100
#define MAXCOLS 101
void printMatrix(int rows, int columns, double matrix[][MAXCOLS]);
int main()
{
double matrix[MAXROWS][MAXCOLS];
int n;
scanf("%d\n", &n);
if(n < 1){
printf("Expected N (number of equations)\n");
exit(0);
}
int i, j;
for(i = 0; i < n; i++){
for(j = 0; j < n+1; j++){
int readVal = scanf("%lf", matrix[i][j]);
if(readVal < 1){
printf("Element a[%d][%d] is missing\n", i, j);
exit(0);
}
}
}