c++ - 有人可以帮我弄清楚如何从我的代码中删除来自hackerrank的分段错误
问题描述
它不工作,我不知道为什么:
int main() {
int n,q,sizee,i,j;
int ans;
int ar[100];
cin>>n;
cin>>q;
int **arr= new int *[n];
for(int i=0;i<n;i++)
{
cin>>sizee;
arr[i] = new int[sizee];
for(int j=0;j<sizee;j++)
cin>>arr[i][j];
}
i=0;
for(int z=0;z<q;z++)
{
int x,y;
cin>>x;
cin>>y;
ar[i]=arr[x-1][y-1];
i++;
}
for(int i=0;i<q;i++)
cout<<ar[i];
delete[] arr[i];
delete[] arr;
return 0;
}
即使它在代码块中正常工作,它也会显示分段错误。
解决方案
看起来像这个循环:
for(int i=0;i<q;i++)
cout<<ar[i];
delete[] arr[i];
delete[] arr;
缺少一些括号:
for(int i=0;i<q;i++)
{
cout<<ar[i];
delete[] arr[i];
}
delete[] arr;
delete[] arr[i];
可能会给你一个段错误i == q
,也许你应该循环使用i < n
.
推荐阅读
- angular - 如何在Angular中连接之前检查websocket是否已启动
- git - 如何修复 Gitk 错误:预期为整数但得到“”
- ios - Swift 中的“in”与“inout”
- react-native - 处理多个条件并想要多个结果
- r - 使用 wellPanel 时控制输入的格式
- typescript - Vue TypeScript 在 init/created/mounted 上调用函数
- asp.net - ASP.Net Core MVC - 验证摘要不适用于引导选项卡和动态加载的内容
- python - 如何从 python dict 创建 avro Schema
- amazon-web-services - 传出网络性能 (AWS)
- android - 使用 mutableStateOf 而不是 observeAsState