質問編集履歴
4
入力部分のscanfの後ろのa[i]を&a[i]に修正しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
/*入力受付部分*/
|
9
9
|
scanf("%d",&j);
|
10
10
|
for(i=0;i<j;i++){
|
11
|
-
scanf("%d",a[i]);
|
11
|
+
scanf("%d",&a[i]);
|
12
12
|
}
|
13
13
|
/*出力部分*/
|
14
14
|
for(i=0;i<j;i++){
|
3
こちらの意図すること の一部を修正しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -18,15 +18,20 @@
|
|
18
18
|
```
|
19
19
|
|
20
20
|
### こちらの意図すること
|
21
|
-
ただ入力された数値を表示するだけのプログラムに
|
21
|
+
※ただ入力された数値を表示するだけのプログラムですが、意図的にfor文を使ったりしています。※
|
22
22
|
|
23
23
|
さて、自分の理解は
|
24
24
|
「1 1」という入力をした場合
|
25
25
|
j=1となり、入力部分のforループ内の処理は「i=0」「i<1」という条件より1回のみ実行される。
|
26
26
|
そして、この時点でi=0なのでa[0]に1が代入される。
|
27
27
|
そして、出力部分でもforループを使っていて、これも上記同様の条件により、ループ内処理が実行されるのは1回のみ。
|
28
|
-
そしてi=0という初期化をしているので、出力結果はa[0]、つまり1になるというものなのですが、
|
28
|
+
そしてi=0という初期化をしているので、出力結果はa[i]すなわちa[0]の値なので、**つまり1になる**というものなのですが、
|
29
29
|
実際の出力結果は「326482」など、こちらが意図していたものとは違うものとなってしまいます。
|
30
30
|
この原因が検討もつきません。
|
31
|
+
また、出力部分のprintfを
|
32
|
+
printf("\n%d",**a[i]**);
|
33
|
+
から
|
34
|
+
printf("\n%d",**a[0]**);
|
35
|
+
に書き換えてみても同様です。
|
31
36
|
|
32
37
|
どなたか心当たりのある方は教えていただけますと助かります。
|
2
コードの修正と、こちらの意図することの一部文章の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -5,13 +5,14 @@
|
|
5
5
|
#include<stdio.h>
|
6
6
|
int main(void){
|
7
7
|
int a[20],i,j;
|
8
|
+
/*入力受付部分*/
|
8
9
|
scanf("%d",&j);
|
9
10
|
for(i=0;i<j;i++){
|
10
11
|
scanf("%d",a[i]);
|
11
12
|
}
|
12
|
-
|
13
|
+
/*出力部分*/
|
13
14
|
for(i=0;i<j;i++){
|
14
|
-
printf("\n%d",a[
|
15
|
+
printf("\n%d",a[i]);
|
15
16
|
}
|
16
17
|
}
|
17
18
|
```
|
@@ -21,10 +22,11 @@
|
|
21
22
|
|
22
23
|
さて、自分の理解は
|
23
24
|
「1 1」という入力をした場合
|
24
|
-
j=1となり、forループ内の処理は「i=0」「i<1」という条件より1回のみ実行される。
|
25
|
+
j=1となり、入力部分のforループ内の処理は「i=0」「i<1」という条件より1回のみ実行される。
|
25
26
|
そして、この時点でi=0なのでa[0]に1が代入される。
|
27
|
+
そして、出力部分でもforループを使っていて、これも上記同様の条件により、ループ内処理が実行されるのは1回のみ。
|
26
|
-
|
28
|
+
そしてi=0という初期化をしているので、出力結果はa[0]、つまり1になるというものなのですが、
|
27
|
-
実際の出力結果
|
29
|
+
実際の出力結果は「326482」など、こちらが意図していたものとは違うものとなってしまいます。
|
28
30
|
この原因が検討もつきません。
|
29
31
|
|
30
32
|
どなたか心当たりのある方は教えていただけますと助かります。
|
1
コードを書き間違えていたので修正しました
title
CHANGED
File without changes
|
body
CHANGED
@@ -6,10 +6,13 @@
|
|
6
6
|
int main(void){
|
7
7
|
int a[20],i,j;
|
8
8
|
scanf("%d",&j);
|
9
|
-
for(i=0;i<j
|
9
|
+
for(i=0;i<j;i++){
|
10
10
|
scanf("%d",a[i]);
|
11
11
|
}
|
12
|
+
|
13
|
+
for(i=0;i<j;i++){
|
12
|
-
printf("\n%d",a[0]);
|
14
|
+
printf("\n%d",a[0]);
|
15
|
+
}
|
13
16
|
}
|
14
17
|
```
|
15
18
|
|