先放一下代码
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
int b,i,d=-1;
char a;
scanf("%d",&b);
char c[10]={"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"};
a=(char)malloc((b+2)sizeof(char));
这里用的是二维数组指针(被省略了)
for(i=0;i<b;i++)
{
scanf("%s\n",a+i);
}
for(i=0;i<b;i++)
{
for(int j=0;j<7;j++)
{d=strcmp(a+i,*(c+j));
if(d==0)
{
printf("%d\n",j+1);
break;
}
if(j==6)
{
printf("-1\n");
}
}
}
printf("%s\n",a+1);
}
用以上代码输入下面数据时倒数第二行输入时不知道为啥还会将最后一行数据一并输入进去
3
Tuesday
Wednesday
year
结果
3
-1
-1
Wednesdayear
此处最后一行输出为二维数组指针存入的第二行数据
但原本应该是存入Wednesday但不知为何还会将下一行的year一并存入
尝试过用gets但结果还是一样