C函数没有返回正确的东西?

Fin*_*iny 2 c function

我有一个函数将月份的前3个字母转换为数字(Jan = 1,Feb = 2等).

   int convertDate(char date[3])
    {
        printf("%s", date);
        if(date == 'Ian')
            return 1;
        else
        if(date == 'Feb')
            return 2;
        else
        if(date == 'Mar')
            return 3;
        else
        if(date == 'Apr')
            return 4;
        else
        if(date == 'Mai')
            return 5;
        else
        if(date == 'Iun')
            return 6;
        else
        if(date == 'Iul')
            return 7;
        else
        if(date == 'Aug')
            return 8;
        else
        if(date == 'Sep')
            return 9;
        else
        if(date == 'Oct')
            return 10;
        else
        if(date == 'Noi')
            return 11;
        else
        if(date == 'Dec')
            return 12;
        else return 0;
    }
Run Code Online (Sandbox Code Playgroud)

但是,当我使用main()时:

printf("%d", convertDate("Ian"));
Run Code Online (Sandbox Code Playgroud)

它返回0而不是1.相同于任何其他月份.有什么建议吗?

hmj*_*mjd 5

strcmp()比较时使用char*.

if (date == "Sep")比较的基地址char*.