tags:

views:

89

answers:

2
int startingPoint[2]={i,j};

I got this after reading an online code.Is this correct? Means if values of i and j can be changed at runtime before this statement, will this initialize the array with the correct values? Please explain.

+6  A: 

This works in C99 but not in C89.

Peter Eisentraut
See also http://stackoverflow.com/questions/160960/error-initializer-element-is-not-computable-at-load-time .
Peter Eisentraut
+1  A: 

int startingPoint[2]={i,j};
I got this after reading an online code.Is this correct?

Yes that is a correct C code(will work on all modern C compilers).However that wont work on a C89 compiler.

Means if values of i and j can be changed at runtime before this statement, will this initialize the array with the correct values?

Yes!

scanf("%d %d",i,j);
/* some code */

int abc[]={i,j};
Prasoon Saurav