How to compare words on C -
i have no idea why code not working. please me? (i want simple version-fix if it's possible, because i've started study c couple of weeks ago.)
#include <stdio.h> #include <string.h> int main () { char *name="alina"; char *input; printf ("what's name? \n"); scanf ("%s",&input); if (input=="alina") printf("your name %s job!\n ",&name); if (input!="alina") printf("are sure? open program again , insert correct name"); while (1); }
you did errors. first, if want insert string, can use %s, have use array of char in can store string. that's, have write this.
char input[100]; scanf("%s", input); and it'll work. snippet of code means: need insert (store) string. first create place in can store (pay attention string must maximum of 99 characters; array has size 100, last character used represent end of string), , use scanf write want.
the second error if want compare 2 strings, can't use == or !=, when numbers. string.h library lets use strcmp function, this:
if (strcmp(name, input) == 0) // means strings equal ... else ... remembering that
char* name = "alina"; char input[100]; eventually, here you're inspected version of code:
#include <stdio.h> #include <string.h> int main() { char* name = "alina"; char input[100]; printf("what's name?\n"); scanf("%s", input); if (strcmp(name, input) == 0) printf("your name %s job!\n", name); else printf("are sure? open program again , insert correct name\n"); return 0; } the while(1) @ end of code absolutely dangerous, because starts infinite loop never ends, crashing program. want remove it!
Comments
Post a Comment