gpt4 book ai didi

c - 在c程序中添加0作为最后一个值

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

我正在用 c 语言编写一个小程序,一切都很完美,但在一个进程中我必须向数组分配一些值,但我希望最后一个值自动为 0

printf("cantidad de valores codificados a ingresar "); /*amount of values to enter*/
scanf("%d",&l);

printf("\ningrese los valores a decodificar: "); /*entering values*/

for(i=0;i<l;++i) {
scanf("\n%d ",&c[i]);
}

最佳答案

您只需将 0 分配给 scanf 读取到的元素之后即可:

for(i=0;i<l;++i) {
scanf("%d",&c[i]);
}
c[i] = 0;

您已在循环之前声明了 i,所以没问题。确保i 不大于数组c 的大小。因此,假设 c 定义为:

int c[100];

读入 l 的值后,您应该检查它是否不大于数组的大小,如下所示:

scanf("%d",&l);
if (l + 1 > sizeof(c) / sizeof(int)) // one extra for the 0
{
fprintf(stderr, "Too many values, I don't have this much space...");
exit(1);
}

但是动态分配数组c会更好:

scanf("%d",&l);
int* c = (int*) malloc(sizeof(int) * (l + 1));

关于c - 在c程序中添加0作为最后一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16038257/

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