У меня есть функция для преобразования первых трех букв месяца в число (Jan = 1, Feb = 2 и т. Д.).Функция C не возвращает правильную вещь?
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;
}
Но, в основном(), когда я использую:
printf("%d", convertDate("Ian"));
возвращает 0 вместо 1. То же самое для любого другого месяца. Любое предложение?
'date [3]' слишком короткий для «Jan» или любой 3-буквенной строки. 'date [4]' или больше в порядке. – pmg