vs2019平台;
#include<stdio.h>
typedef struct tiku {
char timu[100];
char daan[100];
char t[100];
char a[100];
char b[100];
char c[100];
char d[100];
}; struct tiku ti[1001];
int main()
{
int n, q, i, j, flag = 0;
scanf_s("%d%d", &n, &q);
for (i = 0; i < n; i++)
{
getchar();
scanf_s("%s %s", ti[i].timu,ti[i].daan);
getchar();
}
for (j = 0; j < q; j++)
{
getchar();
scanf_s("%s %s %s %s %s", ti[i].t, ti[i].daan, ti[i].b, ti[i].c, ti[i].d);
getchar();
}
for (i = 0; i < n; i++)
{
if (ti[i].t == ti[i].timu)
{
flag = i;
}
if (ti[flag].daan ==ti[flag].a) printf("A\n");
else if (ti[flag].daan ==ti[flag].b) printf("B\n");
else if (ti[flag].daan ==ti[flag].c) printf("C\n");
else if (ti[flag].daan ==ti[flag].d) printf("D\n");
}
return 0;
}
0x7A75EF8C (ucrtbased.dll)处(位于 练习赛4.exe 中)引发的异常: 0xC0000005: 写入位置 0x003E3000 时发生访问冲突。
###### 我的解答思路和尝试过的方法 调整为结构体。
###### 我想要达到的结果 成功运行,完成字符串输入;
scanf_s("%s %s", ti[i].timu,ti[i].daan);修改如下
scanf_s("%s %s", ti[i].timu,100,ti[i].daan,100);
scanf_s("%s %s %s %s %s", ti[i].t, ti[i].daan, ti[i].b, ti[i].c, ti[i].d);修改如下:
scanf_s("%s %s %s %s %s", ti[i].t, 100,ti[i].daan,100, ti[i].b,100, ti[i].c,100, ti[i].d,100);
if (ti[i].t == ti[i].timu),字符数组不能直接用==,修改如下
if (strcmp(ti[i].t, ti[i].timu)==0) //需要包含string.h头文件