fork(1) download
  1. #include <iostream>
  2. #include <string.h>
  3.  
  4. char strings[4][20];
  5.  
  6. #define SIZEOFARRAY(x) (sizeof(x)/sizeof(x[0]))
  7.  
  8. void printStrings()
  9. {
  10. for ( uint8_t i = 0; i < SIZEOFARRAY(strings); i++ )
  11. printf( "strings[%d] = \"%s\"\n", i, strings[i] );
  12.  
  13. printf("\n");
  14. }
  15.  
  16. void addString( const char * str )
  17. {
  18. for ( uint8_t i = SIZEOFARRAY(strings)-1; i > 0; i-- )
  19. strcpy( strings[i], strings[i-1] );
  20.  
  21. strcpy( strings[0], str );
  22.  
  23. printStrings();
  24. }
  25.  
  26. int main()
  27. {
  28. addString( "a" );
  29. addString( "b" );
  30. addString( "c" );
  31. addString( "d" );
  32. addString( "e" );
  33.  
  34. return 0;
  35. }
Success #stdin #stdout 0s 2684KB
stdin
Standard input is empty
stdout
strings[0] = "a"
strings[1] = ""
strings[2] = ""
strings[3] = ""

strings[0] = "b"
strings[1] = "a"
strings[2] = ""
strings[3] = ""

strings[0] = "c"
strings[1] = "b"
strings[2] = "a"
strings[3] = ""

strings[0] = "d"
strings[1] = "c"
strings[2] = "b"
strings[3] = "a"

strings[0] = "e"
strings[1] = "d"
strings[2] = "c"
strings[3] = "b"