title: Printing an array of structs in C
body: <p>I'm trying to print an array of structs that contain two strings. However my print function does not print more than two indices of the array. I am not sure why because it seems to me that the logic is correct.</p>
  
  <p>This is the main function</p>
  
  <pre><code>      const int MAX_LENGTH = 1024;
  
        typedef struct song
        {
            char songName[MAX_LENGTH];
            char artist[MAX_LENGTH];
        } Song;
  
  
        void getStringFromUserInput(char s[], int maxStrLength);
        void printMusicLibrary(Song library[], int librarySize);
  
  
        void printMusicLibraryTitle(void);
        void printMusicLibrary (Song library[], int librarySize);
        void printMusicLibraryEmpty(void);
  
  
        int main(void) {
  
        // Announce the start of the program
        printf("%s", "Personal Music Library.\n\n");
        printf("%s", "Commands are I (insert), S (sort by artist),\n"
         "P (print), Q (quit).\n");
  
        char response;
        char input[MAX_LENGTH + 1];
        int index = 0;
  
        do {
            printf("\nCommand?: ");
            getStringFromUserInput(input, MAX_LENGTH);
  
            // Response is the first character entered by user.
            // Convert to uppercase to simplify later comparisons.
            response = toupper(input[0]);
  
            const int MAX_LIBRARY_SIZE = 100;
            Song Library[MAX_LIBRARY_SIZE];
  
            if (response == 'I') {
  
                 printf("Song name: ");
                 getStringFromUserInput(Library[index].songName, MAX_LENGTH);
  
  
                  printf("Artist: ");
                  getStringFromUserInput(Library[index].artist, MAX_LENGTH);
  
                  index++;
  
  
            }
  
            else if (response == 'P') {
                 // Print the music library.
                int firstIndex = 0;
  
                if (Library[firstIndex].songName[firstIndex] == '\0') {
                printMusicLibraryEmpty();
                } else {
                    printMusicLibraryTitle();
                    printMusicLibrary(Library, MAX_LIBRARY_SIZE);
                }
  </code></pre>
  
  <p>This is my printing the library function</p>
  
  <pre><code>    // This function will print the music library
  void printMusicLibrary (Song library[], int librarySize) {
  
      printf("\n");
  
      bool empty = true;
  
      for (int i = 0; (i &lt; librarySize) &amp;&amp; (!empty); i ++) {
  
          empty = false;
  
          if (library[i].songName[i] != '\0') {
              printf("%s\n", library[i].songName);
              printf("%s\n", library[i].artist);
              printf("\n");
          } else {
              empty = true;
          }
  
      }
  
  }
  </code></pre>