如何将数组的最后一个元素设置为某个数字?

时间:2018-11-19 21:10:06

标签: c

说我有一个为5个元素设置值的数组。我该如何使最后一个打印为100?

int n[5];
    for(i=0; i<5; i++){
        printf("Please enter value %d: \n",i+1);
        scanf(" %d", &n[i]);
    }

2 个答案:

答案 0 :(得分:1)

您可以重写循环,以免扫描数组中的最后一个元素,并在代码中使用硬编码值100填充该循环:

int n[5];
n[4] = 100;
for(i = 0; i < 4; i++)
{
    printf("Please enter value %d: \n",i+1);
    scanf(" %d", &n[i]);
}

请注意,由于您的for循环不再要求用户提供n[4]的值,因此n[4] = 100;行是在循环之前还是之后都没有关系。 / p>

答案 1 :(得分:1)

通常,我会这样解决此问题:

#define ARRAY_SIZE 5

void myFunc()
{
  int n[ARRAY_SIZE];
  int i;
  for (i=0; i<ARRAY_SIZE-1; i++)
  {
    printf("Please enter value %d: \n",i+1);
    scanf(" %d", &n[i]);
  }
  // now, i == ARRAY_SIZE-1
  n[i] = 100;
}

这将适用于任何大小的数组。