回答編集履歴
2
更に微修正
test
CHANGED
@@ -7,6 +7,10 @@
|
|
7
7
|
|
8
8
|
|
9
9
|
```C
|
10
|
+
|
11
|
+
// int min[i] ;
|
12
|
+
|
13
|
+
|
10
14
|
|
11
15
|
printf("何個整数を入力しますか:"); scanf("%d", &n);
|
12
16
|
|
1
微修正
test
CHANGED
@@ -16,7 +16,7 @@
|
|
16
16
|
|
17
17
|
|
18
18
|
|
19
|
-
元のプログラムでは、`int i; int min[i];`となってますが、min[i]を宣言した時iは初期化していないため、C言語の規格上は不定値です。ただし、gccはこのような時0に初期化するようです。従って、`int min[0];`と宣言したのと同じ意味になるため、メモリが確保されておらず、何が起こるか分からない状態なのです。
|
19
|
+
元のプログラムでは、`int i; int min[i];`となってますが、min[i]を宣言した時`i`は初期化していないため、C言語の規格上はこの時点では不定値です。ただし、gccはこのような時0に初期化するようです。従って、`int min[0];`と宣言したのと同じ意味になるため、メモリが確保されておらず、何が起こるか分からない状態なのです。
|
20
20
|
|
21
21
|
|
22
22
|
|