when I use char array subscript as in this example:
int main(){ char pos=0; int array[100]={}; for(pos=0;pos<100;pos++) printf(\"%i\\
Because native char can be either unsigned or signed.
char
Note that it's perfect legal to use negative subscript. For instance:
int arr[10]; int *ptr = arr[5];
Now I can use ptr[-1] which is equivalent to arr[4]. If char happens to be unsigned in the implementation, it can never be a negative value.
ptr[-1]
arr[4]