Is the initialization of the empty char array valid?
<pre><code>int main()
{
    cout&lt;&lt;"Enter a word"&lt;&lt;endl;
    char word1[]={0}; //first char array initialization
    cin&gt;&gt;word1;
    cout&lt;&lt;"Enter another word"&lt;&lt;endl;
    char word2[]={0};  //second char array initialization
    cin&gt;&gt;word2;
    char word3[]={0};  
    char word4[]={0};
    int i=0;
while (word1[i]!='\0')  //this converts both words to lower case by usinction tolower 
{
    word3[i]=char(tolower(word1[i])); //word3 and word4 stores the new arrays
    word4[i]=char(tolower(word2[i]));
    i++;
}

int output;  //output stores the value of 0,1 or -1
output=compareString(word3,word4);
if (output==0)
{
    cout&lt;&lt;"The two words are the same."&lt;&lt;endl; //if arrays are same
}
if (output==1)  
{
    cout&lt;&lt;"the 1st character of 1st word has a larger value than of 2nd word."&lt;&lt;endl;
}
if (output==-1)
{
    cout&lt;&lt;"the 1st character of 2nd word has a larger value than of 1st word."&lt;&lt;endl;
}
return 0;
</code></pre>

<p>}</p>

<pre><code>int compareString(char string1,char string2)
{
    int size1=0;  //initialize size of string1
    int j=0;   //string1 position initialize
    while (string1[j]!='\0')  //loop to determine size of string1
    {
        size1+=1;
        j+=1;
    }
    int a=0;    //initialize size of string2
    int size2=0;  //string2 position
    while (string2[a]!='\0')  //loop determines size of string2
    {
        size2+=1;
        a+=1;
    }
     int i=0;
     int k=0;
     for (i=0;i&lt;size1;i++)   //loop to compare the two strings
     {
     if (string1[i]!=string2[i])
     {
        if (string1[i]&gt;string2[i])  //comparing 1st character of string1 &amp; string2
        {
            return 1;
        }    
        else   //if string2's first character is greater in value
        {
            return -1;
        }
      }
      else
      {
          k++;  //incrementing k when character of string1 matches string2 character
      }
      }
   if (k==size1)  //to cjheck if all characters of both strings are same
   {
       if (k==size2)
       {
           return 0;
       }
   }
 }
</code></pre>

<p>This is a function which compares two char arrays and returns 0 if characters correspond to each other,returns 1 if first character of string1 is greater than first character of string2 in value and returns -1 if first character of string1 is less than first character of string2.The problem is that when i run it,even when the two words are different,the output is always 0 and the text "The words are the same" appears.
Am i initializing the two arrays correctly in my main program?or is there some other problem?</p>
