c++ - 无法将数组中的负值转换为正值?

标签 c++ arrays function loops absolute-value

如果数组中有任何整数转换为正数,我需要返回 true/false,我可以返回 true 或 false 但是我不能将负整数转换为正整数?

#include <iostream>
using namespace std;

int convertArray (int a[],int sizeofArray )     

{
bool v = false;
for (int i=0; i<sizeofArray; i++)
{   

    if(a[i]<0)
    {
        abs(a[i]);
        v = true;

    }

  cout << i << "  " << a[i] << endl;  
}
return v;



}
int main()

{
    int b[5] = {1,-2,3,5,2};
    cout << convertArray (b,5)<<endl;

        return 0;
}

最佳答案

声明:

abs(a[i]);

只进行转换,但值会丢失,因为您没有重新分配给相应的数组元素并且参数不是通过引用传递的。你应该:

a[i] = abs(a[i]);

关于c++ - 无法将数组中的负值转换为正值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53321525/

相关文章:

c++ - C++如何在内存中连续(连贯)存储三维数组?

c++ - d3d->CreateDevice 中的 D3DERR_INVALIDCALL 导致 Allegro 5 D3D 程序启动时窗口闪烁

c++ - 传递对函数的引用

c++ - 大型动态多维数组不工作

c++ - 如何抽象 SIMD 代码以在不影响性能的情况下处理不同的数据类型

javascript - 如何使用 "this"关键字来调用

c - 指向整数的指针数组?或指向整数数组的指针?

c# - 将字符串数组排序为整数,但可以有非整数值

c - 具有指向指针和 strcpy 的指针的函数

javascript - 使用由日期触发的 style.display