This program is supposed to dynamically store each string entered into a pointer. Each pointer is part of an array of pointers that will collectively hold all of the strings. When the user enter an empty word, or NULL, it is supposed to quit. My problem is that the code just skips over the NULL conditional statement. I saw some similar posts and have been at it for hours but just can't solve it.
#include <stdio.h>
#include <string.h>
void readWord(char wordChar[], int MAX_CHARS);
int main()
{
    int MAX_CHARS = 20;
    int wCount = 0;
    char *wordArray[wCount]; // Array of pointers that will each point to wordChar
    char wordChar[MAX_CHARS];
    int i;
    for(i = 0;;i++)
    {
        wCount++;
        printf("Enter word: ");
        readWord(wordChar, MAX_CHARS); //Reads one word at a time
        //Dynamically store each 
        wordArray[i] = (char*) malloc((int) strlen(wordChar) * (int) sizeof(char));
        wordArray[i] = wordChar;
        printf("%s \n", wordArray[i]); //Troubleshooting *********************
        // If loop ends scanning when word is NULL 
        if(wordArray[i] == 'NULL')
        {   
            printf("if loop");
            break;
        }
        else printf("no loop");
    }
}
/***********************************************************/
void readWord(char wordChar[], int MAX_CHARS)
{
    int letter, i = 0;
    while((letter = getchar()) != '\n')
    {
        if(i < MAX_CHARS)
        {
            wordChar[i] = letter; 
            i++;
        }
    }
    wordChar[i] = '\0';
}
wordArray[i] == 'NULL'This is nonsense code, you need to read up on the fundamentals of string handling in C.wordArray[i] = wordChar;works?char *wordArray[wCount];meantchar *wordArray[0];, usechar **wordArray;andrealloc2)i < MAX_CHARSshould bei < MAX_CHARS-1.