C编程我如何正确使用if语句与下面的代码字符串?

时间:2016-08-19 11:25:41

标签: c

#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编程的新手。

1 个答案:

答案 0 :(得分:1)

您需要使用strcmp()来比较字符串。请参阅以下代码。

如果两个字符串的内容相等,

strcmp()将返回0。

如果不匹配的第一个字符在ptr1中的值低于ptr2中的值,则

strcmp()将返回&lt; 0。

如果不匹配的第一个字符在ptr1中的值大于ptr2中的值,则

strcmp()将返回&gt; 0.

reference

#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;
}