gpt4 book ai didi

c - 我无法在 "for loop"之外打印我的数组

转载 作者:行者123 更新时间:2023-11-30 20:20:24 24 4
gpt4 key购买 nike

我尝试打印数组,但它不起作用,我得到的输出与用户输入的数字不同。PS:我需要在for循环之外打印它。额外问题:如何重置用户输入的数字? (代码)

#define LENGTH 10
int main (){
int measurements[LENGTH];
int x;

for(x=0; x<LENGTH; x++){
printf("Enter number #%d: ", x+1);
scanf("%d", &measurements[x]);

if(measurements[x]==0){
break;
}


}
printf(" %d ", measurements[x]);//won't work
return 0;
}

最佳答案

如果你想打印数组:

int i;
for (i = 0; i < x; i++){
printf("%d\n", measurements[i]);
}

代码:

#define LENGTH 10
int main (){
int measurements[LENGTH];
int x, i;

for(x=0; x<LENGTH; x++){
printf("Enter number #%d: ", x+1);
scanf("%d", &measurements[x]);

if(measurements[x]==0){
break;
}
}


/*
*this for loop will print the array
*till the index where 0 is entered.
*it will not print 0
*/

printf("\nHere are your measurements:\n");
for(i = 0; i < x; i++){
printf("%d\n", measurements[i]);
}

/*reset part*/
for(i = 0; i < LENGHT; i++){
measurements[i] = 0;
}

return 0;
}

您还可以使用 memset来自 string.h 而不是重置部分。

measurements = memset(measurements, 0, 10);

还请记住:在c中不存在空数组/重置数组之类的东西,它仅取决于您定义的数组元素的空/重置值。即使你没有在数组中设置 0,从另一个角度来看它仍然是空的。

关于c - 我无法在 "for loop"之外打印我的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46381474/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com