gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 11:40:06 26 4
gpt4 key购买 nike

我有一个函数可以将月份的前 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;
}

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

printf("%d", convertDate("Ian"));

它返回 0 而不是 1。其他月份也一样。有什么建议吗?

最佳答案

比较char*时使用strcmp()

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

关于C 函数没有返回正确的东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8649907/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com