#include <stdio.h>
int main()
{
char apple[]="Apple";
char banana[]="Banana";
char orange[]="Orange";
printf("Choose one of the below options\n\n");
printf("Which fruit do you like the most: Apple, Banana, Orange\n\n");
scanf("%s",&apple,&banana,&orange);
if("%s", apple)
{
printf("You chose Apple.\n");
}
if("%s",banana)
{
printf("You chose banana.\n");
}
}
//我希望代码只是在屏幕上打印我选择的选项。但是当我运行代码时,它会同时打印Apple和Banana。如果我输入Apple我不想打印香蕉。我需要使用else语句吗?或者我还缺少什么?谢谢你我是c编程的新手。
答案 0 :(得分:1)
您需要使用strcmp()来比较字符串。请参阅以下代码。
如果两个字符串的内容相等,strcmp()将返回0。
如果不匹配的第一个字符在ptr1中的值低于ptr2中的值,则strcmp()将返回&lt; 0。
如果不匹配的第一个字符在ptr1中的值大于ptr2中的值,则strcmp()将返回&gt; 0.
#include <stdio.h>
#include <string.h>
int main()
{
char apple[]="Apple";
char banana[]="Banana";
char orange[]="Orange";
char input[100];
printf("Choose one of the below options\n\n");
printf("Which fruit do you like the most: Apple, Banana, Orange\n\n");
scanf("%s",input);
if(strcmp(input,apple)==0)
{
printf("You chose Apple.\n");
}
if(strcmp(input,banana)==0)
{
printf("You chose banana.\n");
}
if(strcmp(input,orange)==0)
{
printf("You chose orange.\n");
}
return 0;
}