/* Author : Michael Robinson Program : outOfBounds.c Purpose : To present RAM problems in C Updated : April 5, 2006 */ #include #include #include char word[5]; //to obtain 4 chars + 1 chr(10) void readBeyond() { int id[]= {2900, 2901, 2902, 2903, 2904}; int gpa[]={ 90, 91, 82, 93, 94 }; /* this is equivalent to above, graphical representation id[0] = 2900; gpa[0] = 90; id[1] = 2901; gpa[1] = 91; id[2] = 2902; gpa[2] = 82; id[3] = 2903; gpa[3] = 93; id[4] = 2904; gpa[4] = 94; */ int x; printf(" Parallel Arrays\n"); printf("loc\tid\tgpa\n"); for(x=0; x<10; x++) { printf("%d\t%d\t%d\n", x, id[x], gpa[x]); } } void writeBeyond() { int x = 0; printf("\n\n\nGoing out of array bound DOES NOT produce errors in C\n"); //loading into word[5] for( x=0; x<11; x++) { word[x] = x; } //printing from word[5] for( x=0; x<11; x++) { printf( "%d", word[x] ); } printf("\n"); } int main() { readBeyond(); writeBeyond(); }