Hi all.
I cannot see why there is a letter 'i' after the strcmp function? The program runs fine without it and it doesn't explain in my book why it's there. It's the first time it's used and i have looked at other string functions and can't seem to be able to see a reason behind it. Here's my source code. I have made a comment where the problem lies.
Thanks in advance.
Code:
#include<string.h>
#include<stdio.h>
int main()
{
char dwarf[7][2][8]={
"bashful","?",
"doc","?",
"dopey","?",
"grumpy","?",
"happy","?",
"sneezy","?",
"sleepy"};
char input[64];
int named=0;
int x;
puts("See if you can name the seven dwarfs:");
while(named<7)
{
if(named==1)
printf("\nSo far you have named %d dwarf.\n",named);
else
printf("\nSo far you have named %d dwarfs.\n",named);
printf("Enter a name:");
gets(input);
/*check for no input*/
if(strcmp(input,"")==0)//no input, end
break;
for(x=0;x<7;x++)
{
if(strcmpi(input,dwarf[x][0])==0)/*WHY IS THERE A LETTER "I" AFTER STRCMP?*/
{
if(dwarf[x][1][0]=='!')
printf("You already named that dwarf!\n");
else
{
printf("Yes! %s is right.\n",input);
named++;
dwarf[x][1][0]='!';
}
}
}
}
return(0);
}