【发布时间】:2014-06-07 16:05:20
【问题描述】:
我想要月份索引的值,但是 k 的值是错误的。可以引起?函数有错误但找不到。
#include <stdio.h>
#include <string.h>
#define SIZE 20
int get_month(const char *str, char *array[])
{
int k;
for (k = 0; k < 12; ++k)
if (!strcmp(array[k], str)
return k ;
return 0;
}
int main()
{
char s[SIZE];
char *months[] = {"January"," February","March", "April","May","June","July","August ","September", " October"," November","December" };
int result;
printf("enter the month : ");
gets(s);
result = get_month(s,months);
if (result)
printf("%s - %d. is the month of the year.\n", s, result);
else
printf("%s invalid\n", s);
return 0;
}
【问题讨论】:
-
在 get_month 中,将
months替换为array。 -
您的某些字符串末尾有空格,但不是全部。
-
这段代码甚至无法编译。
-
“找不到”是什么意思?我的编译器显示
4: error: two or more data types in declaration specifiers,其中4是行号。 -
(编辑后)阅读编译器错误信息。