質問編集履歴

2

2022/01/13 02:28

投稿

bldtemporal
bldtemporal

スコア35

test CHANGED
File without changes
test CHANGED
@@ -1,51 +1,32 @@
1
- 下記2に示しますように、配列をif文で分けたいくつかのケースで使用したのですが、開のようなエラーが出てしまいます。上手く通す方法はありませんでしょうか
1
+ 配列をいくつかのif文で分けたいくつかのケースで使用したのですが、開のようなエラーが出てしまいます。
2
-
3
- ```C++
2
+ C++
4
-
5
3
  /* **** Pointer print **** */
6
-
7
4
  #include <cstdio>
8
-
9
5
  #include<cstdlib>
10
6
 
7
+ // 1:このコードなら、当然 0.885とprintされます。
8
+ int main() {
9
+ double PC[5]{ 1, 0.885, 0.826, 0.794, 0.775 };
10
+ double PCA[5] = { 1, 0.769, 0.709, 0.671, 0.645 };
11
+ printf("\n PC[1]=%7.3f\n", PC[1]);
12
+ }
13
+ // ===================================================
14
+ // 2:一方、このコードでは、識別子"PC"が定義されていない、
15
+ // または、pointer-to-object型が必要です、とエラー表示されます。
16
+ // これで、通す方法はありませんでしょうか、
17
+
18
+ int main() {
19
+ int N = 1;
20
+ if (N == 1) {
21
+ double PC[5]{ 1, 0.885, 0.826, 0.794, 0.775 };
22
+ double PCA[5] = { 1, 0.769, 0.709, 0.671, 0.645};
23
+ }
24
+ printf("\n PC[1]=%7.3f\n", PC[1]);
25
+ }
26
+ この質問は下記により、暫定的に解決しました。
27
+ ・if(N==1),else if(N=2)としたのでは、N=1,N=2以外でエラーになるだろう、と言うことで、if(N=1),elseで試したところ、この部分での”初期値不設定”のエラーは無くなりました。しかしながら、下記の疑問が残りました。
28
+ ➀品番の大きなコードでは、冒頭部分でN=1,N=2以外は、exit(0)としていること。
29
+ ②他の部分ではif(N==1),else if(N=2)としているが、エラーになっていない。
30
+ ということから、同じ構成にしたのですが、通りませんでした。配列部分はより厳密になっているように感じました。
11
31
 
12
32
 
13
- // 1:このコードなら、当然 0.885とprintされます。
14
-
15
- int main() {
16
-
17
- double PC[5]{ 1, 0.885, 0.826, 0.794, 0.775 };
18
-
19
- double PCA[5] = { 1, 0.769, 0.709, 0.671, 0.645 };
20
-
21
- printf("\n PC[1]=%7.3f\n", PC[1]);
22
-
23
- }
24
-
25
- // ===================================================
26
-
27
- // 2:一方、このコードでは、識別子"PC"が定義されていない、
28
-
29
- // または、pointer-to-object型が必要です、とエラー表示されます。
30
-
31
- // これで実行したいのですが、通す方法はありませんでしょうか、
32
-
33
-
34
-
35
- int main() {
36
-
37
- int N = 1;
38
-
39
- if (N == 1) {
40
-
41
- double PC[5]{ 1, 0.885, 0.826, 0.794, 0.775 };
42
-
43
- double PCA[5] = { 1, 0.769, 0.709, 0.671, 0.645};
44
-
45
- }
46
-
47
- printf("\n PC[1]=%7.3f\n", PC[1]);
48
-
49
- }
50
-
51
- ```

1

作成途中に投稿されてしまいましたので、追加致します。

2022/01/10 13:10

投稿

bldtemporal
bldtemporal

スコア35

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
- 配列をいくつかのif文で分けたいくつかのケースで使用したのですが、開のようなエラーが出てしまいます。
1
+ 下記2に示しますように、配列をif文で分けたいくつかのケースで使用したのですが、開のようなエラーが出てしまいます。上手く通す方法はありませんでしょうか
2
2
 
3
- C++
3
+ ```C++
4
4
 
5
5
  /* **** Pointer print **** */
6
6
 
@@ -28,7 +28,7 @@
28
28
 
29
29
  // または、pointer-to-object型が必要です、とエラー表示されます。
30
30
 
31
- // これで、通す方法はありませんでしょうか、
31
+ // これで実行したいのですが、通す方法はありませんでしょうか、
32
32
 
33
33
 
34
34
 
@@ -47,3 +47,5 @@
47
47
  printf("\n PC[1]=%7.3f\n", PC[1]);
48
48
 
49
49
  }
50
+
51
+ ```