I get a diganostic from: ----------------------- #include <stdlib.h> void f(int n, int a[n][n]) { exit(a[0][0]); } int main(void) { int A[3][3] = {0}; f(3, A); } ----------------------- The code looks fine to me. -- Ben.