gpt4 book ai didi

无法将数组中的数字更改为我想要的数字

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

我这里没有什么问题。自从我使用 srand 命令以来,我不再得到我想要的输出。我必须创建一个程序,无论多长,它都会创建数组。我选择了 5。然后它必须在其中创建随机数,其中的第 5 个数字必须为 0,然后它必须将所有五个数字一起计数。我成功了,我什至使用了一些 printfs 来检查 arr[5] 是否为零。这是。在输出中,我收到以下内容:5个随机数(创建到数组中的数字)0(检查我设置 arr[5] 的命令是否确实将其设置为零,结果仅将所有 5 个随机数一起计数,但不将第 5 个 arr 更改为0. 有什么想法吗?谢谢!代码如下所示:

 #include <stdio.h>
#include <time.h>
main()
{
srand(time(NULL));
int result,i;
int arr[5];
for (i=0;i<5;i++)

{
arr[i] = rand() % 10+1;
printf("%d ",arr[i]);
}

arr[5]=0;
printf("\n");
printf("%d\n",arr[5]);
i=0;

for(;i<5;i++)
{
result +=arr[i];
}

printf("%d\n",result);
printf("%d\n",arr[5]);

}

最佳答案

声明 int arr[5] 给出一个包含 5 个元素的数组,编号从 0 到 4(含)。访问第 6 个元素 arr[5] 未定义。

如果您想要五个元素和一个“sentinel”(零标记),您可以将 arr 定义为

int arr[6];

您可能还应该将result初始化为0,否则它的值是未定义的,因为它是一个局部变量(事实上,严格来说,在这种情况下,整个程序的含义是未定义的)。

关于无法将数组中的数字更改为我想要的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50259796/

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