我对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 – 2014-11-01 14:50:06
修复后一对大括号:http://coliru.stacked-crooked.com/a/ac471e129d93ece1 – chris 2014-11-01 14:50:06
你读过[scanf(3)]的文档吗(http://man7.org/linux/man-pages/man3/ scanf.3.html)(你应该测试它的结果)?你是否编译过所有警告和调试信息('gcc -Wall -Wextra -g')?你**使用调试器**('gdb')吗? – 2014-11-01 15:49:04