C语言比较问题疑问,求解答

img


这个哪不对哩


scanf("%s",&b[30]);

这不对

你这截图不全啊,主函数呢?

a[i]是个什么啊,连a的定义也不放出来,鬼知道哪里不对

struct person
{
char liexing[30];
char name[30];
char phone[20];
}a[100];
//查找定位
void search()
{
int i;
char b[30]={0};

printf("请输入姓名:"); 
scanf("%s",&b[30]);

for(i=0;i<100;i++)
{
    if( strcmp(a[i].name,b) == 0 )
    {
        printf("\n");
        printf("%s\t", a[i].liexing);
        printf("%s\t", a[i].name);
        printf("%s\n", a[i].phone); 
        break;
    }
}
//printf("不存在该人通讯信息!\n");
Sleep(2000); 
if(getchar()=='\n')
    system("cls");     

}

//查找定位
void search()
{
int i;
char b[30] = { 0 };

printf("请输入姓名:");
scanf_s("%s", b,30);//指定缓冲区大小的参数,表示最多读取n-1个字符,不加的话,编译器会出错,无法进行正常的字符串输入
for (i = 0; i < 100; i++)
{
    if (strcmp(a[i].name, b) == 0)
    {
        printf("\n");
        printf("%s\t", a[i].liexing);
        printf("%s\t", a[i].name);
        printf("%s\n", a[i].phone);
        break;
    }
}
printf("不存在该人通讯信息!\n");
Sleep(2000);
if (getchar() == '\n')
    system("cls");

}