#include <iostream>
#include <string.h>
char strings[4][20];
#define SIZEOFARRAY(x) (sizeof(x)/sizeof(x[0]))
void printStrings()
{
for ( uint8_t i = 0; i < SIZEOFARRAY(strings); i++ )
printf( "strings[%d] = \"%s\"\n", i, strings[i] );
printf("\n");
}
void addString( const char * str )
{
for ( uint8_t i = SIZEOFARRAY(strings)-1; i > 0; i-- )
strcpy( strings[i], strings[i-1] );
strcpy( strings[0], str );
printStrings();
}
int main()
{
addString( "a" );
addString( "b" );
addString( "c" );
addString( "d" );
addString( "e" );
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nLmg+CgpjaGFyIHN0cmluZ3NbNF1bMjBdOwoKI2RlZmluZSBTSVpFT0ZBUlJBWSh4KSAoc2l6ZW9mKHgpL3NpemVvZih4WzBdKSkKCnZvaWQgcHJpbnRTdHJpbmdzKCkKewoJZm9yICggdWludDhfdCBpID0gMDsgaSA8IFNJWkVPRkFSUkFZKHN0cmluZ3MpOyBpKysgKQoJCXByaW50ZiggInN0cmluZ3NbJWRdID0gXCIlc1wiXG4iLCBpLCBzdHJpbmdzW2ldICk7CgkJCglwcmludGYoIlxuIik7Cn0KCnZvaWQgYWRkU3RyaW5nKCBjb25zdCBjaGFyICogc3RyICkKewoJZm9yICggdWludDhfdCBpID0gU0laRU9GQVJSQVkoc3RyaW5ncyktMTsgaSA+IDA7IGktLSApCgkJc3RyY3B5KCBzdHJpbmdzW2ldLCBzdHJpbmdzW2ktMV0gKTsKCQkKCXN0cmNweSggc3RyaW5nc1swXSwgc3RyICk7CgkKCXByaW50U3RyaW5ncygpOwp9CgppbnQgbWFpbigpCnsKCWFkZFN0cmluZyggImEiICk7CglhZGRTdHJpbmcoICJiIiApOwoJYWRkU3RyaW5nKCAiYyIgKTsKCWFkZFN0cmluZyggImQiICk7CglhZGRTdHJpbmcoICJlIiApOwoJCglyZXR1cm4gMDsKfQ==