#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int array[];
int arraySize = 460;
int max;
int array_size(int n) {
array[n];
}
int read_from_array(int n){
for(int i = 0; i <= arraySize-1;i++)
printf("%d|",array[i]);
}
int array_generator(int n) {
for(int i = 0; i <= n; i++)
array[i] = rand() % 1000;
}
int find_max(int n) {
for(int i = 0;i <= n-1;i++)
{
if(array[i] > max)
max = array[i];
}
printf("\n%d",max);
}
int main(int argc, char** argv) {
srand(time(NULL));
array_size(arraySize);
array_generator(arraySize);
//read_from_array(arraySize);
find_max(arraySize);
return 0;
}
イム学習と、この変数は< 460に設定されている場合、それは動作しますが、私はそれを大きくする際にランダムな配列 で最大の整数を見つけるために、このような何かをした、それを動作していません仕事はありません。 int arraySize = 460;Cランダムな配列の最大値は、適切に
なぜこれが起こっているのか、それをより良くする方法を知りたい。
あなたは 'array_size [n]'は配列のサイズを設定すると思いますか?それはしません。つまり、配列は空であり、すべてのアクセスは未定義の動作です。 –
'int array []'は 'int array [1];と同じです。 –
@CoolGuy、あなたは' int * array'と同じものではないと確信していますか? (同様に、割り当てられた記憶域はなく、ただのポインタです。) – Tyler