小编Sha*_*dhi的帖子

通过值调用更改数组元素

我将数组元素传递给函数.此函数为数组的每个元素添加5.我也传递一个整数并向它添加5 ...即使它是一个'按值调用'函数,整数的值main()也不会改变(这是预期的)但是数组元素确实改变了......

我不知道怎么样和为什么?

#include <iostream>

using namespace std;

void change(int x[],int y);

int main()
{
    int sharan[]={1,2,3,4};
    int a=10;
    change(sharan,a);
    for(int j=0;j<4;j++)
    {
        cout<<sharan[j]<<endl;
    }
    cout<<endl<<"a is : "<<a;
    return(0);
}

void change(int x[],int y)
{
    for(int i=0;i<4;i++)
    {
        x[i]+=5;
    }
    y+=5;
}
Run Code Online (Sandbox Code Playgroud)

c++ arrays call-by-value

-3
推荐指数
1
解决办法
72
查看次数

标签 统计

arrays ×1

c++ ×1

call-by-value ×1