gpt4 book ai didi

c++ - 删除导致段错误的 cout 语句

转载 作者:行者123 更新时间:2023-11-30 00:38:48 27 4
gpt4 key购买 nike

这是我程序中的一个函数。使用 cout 语句,程序可以编译并运行。如果删除 cout 语句,则会返回段错误。我在 linux mint 上使用 G++ 编译器。有人对此有任何想法吗?

int findFactors(int n,int factors[],int numFactors)
{
int m=n;
int k=2;
int i;

while(m!=1)
{
for(k=2;k<=m;k++)
{
if(m%k==0)
{
factors[i]=k;
cout<<"Prime Factor: "<<factors[i]<<endl;//This is the offending statement!
factors[i++];
numFactors++;
break;
}
}
m=(m/k);
}

return numFactors;
}

最佳答案

i 未初始化,因此访问 factors[i] 是未定义的行为,任何事情都可能发生。

此外,语句 factors[i++]; 应该做什么?

关于c++ - 删除导致段错误的 cout 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9898681/

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