loops - fgets in C language multiple prints after get string -
i have code , want loop finish when user gives "###".
int main(){ char s[10]; printf("give string: "); fgets(s,11,stdin); do{ printf("give string: "); fgets(s,11,stdin); }while ( s!="###" ); return 0; } so far it's ok, when user gives input bigger 11 characters have multiple prints of "give string". try scanf , did right. can give me solution fgets? i mean output looks this.
c string doesn't support direct comparison, need strcmp that, so
while ( s!="###" ) should while(strcmp(s,"###"))
also you'd need remove \n fgets (so strcmp ignore \n). do..while should like:
do{ printf("give string: "); fgets(s,11,stdin); s[strlen(s) - 1] = '\0'; } while (strcmp(s,"###"));
Comments
Post a Comment