Я очень новичок в языке программирования c. Я написал этот код, и мне интересно, есть ли способ , чтобы написать этот код короче и эффективнее?Проблемы с переменными и функцией scanf
Код:
#include <stdio.h>
int main(){
printf("This is my first program.\nPlease put in your name...\n");
char letter[5];
scanf("%c%c%c%c%c%c", &letter[0], &letter[1], &letter[2], &letter[3], &letter[4], &letter[5]);
if(letter[0] == 't' && letter[1] == 'r' && letter[2] == 'a' && letter[3] == 'v' && letter[4] == 'i' && letter[5] == 's'){
printf("Access Granted\nWelcome Travis.\n");
return 0;
}
else{
printf("You are not autorized.\nThis program will exit now...\n");
getchar();
}
}if(letter[0] == 'b' && letter[1] == 'o' && letter[2] == 'b'){
printf("Access Granted\nWelcome Bob.\n");
return 0;
}
Для работы код и обзор кода - см. codereview.stackexchange.com –
После исправления с несколькими скобками: http://coliru.stacked-crooked.com/a/ac471e129d93ece1 – chris
Вы прочитали документацию по [scanf (3)] (http://man7.org/linux/man-pages/man3/ scanf.3.html) (вы должны проверить его результат)? Вы скомпилировали все предупреждения и информацию об отладке ('gcc -Wall -Wextra -g')? Вы использовали ** отладчик ** ('gdb')? –