填充一维数组中的值

时间:2017-09-30 07:31:16

标签: c arrays fill

代码片段

if (val==1)
 paperR[LIMIT]={100,50,20,10,5,2,1};

else if (val==2)
 paperR[LIMIT]={200,100,50,20,10,5,1};

问题?

它就像在做 int ask;

以后的代码 问= 1;

如何用数组做到这一点?

2 个答案:

答案 0 :(得分:1)

您无法分配数组,只有在您声明数组的位置初始化数组时,才能提供值列表。

如果要填充数组,可以使用包含要使用的值的另一个数组中的memcpy。所以你可以声明:

const int arr100[] = {100,50,20,10,5,2,1};
const int arr200[] = {200,100,50,20,10,5,1};
int paperR[LIMIT];

if (val == 1) {
    memcpy(paperR, arr100, sizeof arr100);
} else if (val == 2) {
    memcpy(paperR, arr200, sizeof arr200);
}

答案 1 :(得分:0)

你可以用一个元素来完成它:

if (val==1)
{
    paperR[0] = 100;
    paperR[1] =  50;
    paperR[2] =  20;
    paperR[3] =  10;
    paperR[4] =   5;
    paperR[5] =   2;
    paperR[6] =   1;
}
else if (val==2)
{
    paperR[0] = 200;
    paperR[1] = 100;
    paperR[2] =  50;
    paperR[3] =  20;
    paperR[4] =  10;
    paperR[5] =   5;
    paperR[6] =   1;
}