之前一直出现奇奇怪怪的错误,原因竟是:char 数组开小了。。。=.=!!!
多亏 CL 大佬的帮助,发现了这个问题。。。
正确代码:
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int shiji[1000010];
int sit_n[1000010];
int count[1005];
int main(){
int t;
cin >> t;
int i = 1;
char ID_number[t+1][123];//之前只开了 char ID_number[t][1], 导致输出部分错误
while(t--){
scanf("%s %d %d",ID_number + i, shiji + i, sit_n + i);
i++;
}
int m;
int sj;
cin >> m;
for(int u = 0; u < m; u++){
scanf("%d",count + u);
for(int j = 1; j < i; j++){
if(shiji[j] == count[u]){
printf("%s %d\n",ID_number[j], sit_n[j]);
}
else
continue;
}
}
return 0;
}