求助,10pts,char*的指向突然诡异
查看原帖
求助,10pts,char*的指向突然诡异
723198
AAA404楼主2022/7/23 21:27

在调的时候发现数据点1的1 2这一行的*(str+x)变成了'9'

#include<bits/stdc++.h>
#define itn int
#define tin int
#define nit int
#define tni int
#define nti int
#define scnaf scanf
#define ptrinf printf
#define icn cin
#define cni cin
#define inc cin
#define nci cin
#define nic cin
#define cuot cout
#define ocut cout
using namespace std;
char a[1001][9];
int n,q;
inline int read()
{
	char ch=getchar();
	int s=0,w=1;
	if(ch=='-'){
	w=-1;ch='0';}
	while(ch>='0' && ch<='9')
	{
		s=s*10+ch-48;
		ch=getchar();
	}
	return s*w;
}
int main()
{
// 	freopen(".in","r",stdin);
 //	freopen(".out","w",stdout);
 	n=read();
	q=read();
	for(int i=1;i<=n;i++)
	{
		scanf("%s",&a[i]);
	}
	for(int i=1;i<=q;i++)
	{
		char b[9]={0};
		bool flag=0;
		int x;
		scanf("%d%s",&x,b);
		for(int j=1;j<=n;j++)
		{
			if(strstr(a[j],b)!=NULL)
			{
				char* str=strstr(a[j],b);
				if(*(str+x)=='\0')
				{
					printf("%s\n",a[j]);
					flag=1;
					break;
				}
			}
		}
		if(flag==0)
		{
			cout<<"-1"<<endl;
		}
	}
 	return 0;
}

数据点1

1 10
9392912
3 912
2 10
7 2731197
2 12
7 7163045
4 8785
7 4577297
5 75400
1 2
6 493284

望路过的dalao帮调谢谢

2022/7/23 21:27
加载中...