-1
我试过做一个琐事游戏。 出于某种原因,在第一次回答后,整个代码打印自己,当时它只应该只打印一行。我的代码有什么问题? C
int main()
{
char answer;
int score = 16;
printf("Hello and welcome to Chen's trivia!\n");
printf("Press ENTER to continue!\n");
getchar();
printf("Ready? Let's begin!\n");
printf("Press ENTER to continue!\n");
getchar();
printf(" Who is the president of the united states?\n");
printf("Barack Obama, Donald Trump, George w. Bush\n");
scanf(" %c", &answer);
if(answer == 'Trump' || 'trump'){
printf("You are correct\n");
score*=2;
printf("your score is: %d \n", score);
}else{
score = (score/2);
printf("Wrong answer!\n");
printf("score: %d \n", score);
}
printf("What superhero shoots web out of his arms?\n");
printf("A.Batman, B.Spiderman, C.Captain America, D.Superman\n");
scanf(" %c", &answer);
if(answer == 'B' || 'b'){
printf("That's right, Hero!\n");
score*=2;
printf("Youre score is: %d \n", score);
}else{
score = (score/2);
printf("sorry, wrong answer!\n");
printf("your score is! %d\n", score);
}
printf("Who is the the main character in 'The Matrix'? \n");
scanf(" %c", &answer);
if(answer == 'neo' || 'NEO'){
score*=2;
printf("That's right!\n");
printf("Your score is %d\n", score);
}else{
score = (score/2);
printf("Sorry, Wrong answer!\n");
}
printf("What is the capital of Israel?");
scanf(" %c", &answer);
if(answer== ('jerusalem') || ('Jerusalem')){
score*=2;
printf("That's right!");
printf("Your score is:%d", score);
}else{
score = (score/2);
printf("Sorry, wrong answer!");
printf("Your score is now:%d", score);
}
return 0;
}
任何想法? :( BTW,我让我的代码此错误:块
警告:字符常量太长,其 类型的警告:多字符常量wmultichar
得到了在总共6个警告
的可能的复制(http://stackoverflow.com/questions/8004237/how-do-i-properly-compare -strings-in-c) –
此外,不要在C中使用单引号围绕字符串文字。 –
读行...... –