gpt4 book ai didi

c++ - 访问 vector 容器的元素时发生运行时错误

转载 作者:行者123 更新时间:2023-11-28 05:51:59 25 4
gpt4 key购买 nike

在下面提到的程序中,我将整数转换为 vector ,然后检查数字是否被 vector 的每个元素整除。但是,在访问 vector 元素以按数字检查元素是否可整除时,会发生运行时错误。

#include <iostream>
#include <algorithm>
#include<vector>
using namespace std;

int main(){
int testcase;
cin>>testcase; //number of testcases inputted
while(testcase--)
{
int number,i=0,count=0;
cin >>number; //number is inputted
int p=number;
vector<int> arr(100);
while(number){ //converting integer to array
arr[i]=number%10;

number=number/10;
cout<<arr[i];
if(p%arr[i]==0) //checking whether each element of array is divisible by number //this gives runtime error
count++;
i++;
}

cout<<endl<<count<<endl; //printing the count of elemnts of array divisible by number
}
return 0;
}

我已经注释掉了给出运行时错误的 if 条件(没有 if 条件,程序运行正确)。有人可以告诉我如何纠正吗?提前致谢。

最佳答案

在这种情况下

if(p%arr[i]==0)

arr[i] 可以等于 0

因此,如果数字包含 0,则程序将失败。

关于c++ - 访问 vector 容器的元素时发生运行时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35044668/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com