gpt4 book ai didi

c - 为什么数组的最后一个元素会改变?

转载 作者:太空宇宙 更新时间:2023-11-04 01:26:12 25 4
gpt4 key购买 nike

我有以下代码:

void generate_random_array(int8_t array[], int array_size){
srand(time(NULL));

for(int i = 0; i < array_size + 1; i++){

array[i] = rand() % 21 + (-10);
printf("%d, %d\n", array[i], i);
}
}


int main(){

int8_t some_array[100];

generate_random_array(some_array, 100);

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

return 0;
}

程序生成给定数组的随机元素,范围从 -10 到 10,然后显示它们。问题是当我第二次打印元素时,数组的最后一个元素变为 100。我想知道为什么。

最佳答案

数组的索引从零开始。

int array[3];//  an int array with 3 elements
array[0]; //first element
array[1]; //second element
array[2]; //third element
array[3]; //undefined because it is beyond the end of the array

关于c - 为什么数组的最后一个元素会改变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30467870/

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