说我有一个为5个元素设置值的数组。我该如何使最后一个打印为100?
int n[5];
for(i=0; i<5; i++){
printf("Please enter value %d: \n",i+1);
scanf(" %d", &n[i]);
}
答案 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;
}
这将适用于任何大小的数组。