回答編集履歴
2
記述修正
test
CHANGED
@@ -4,9 +4,11 @@
|
|
4
4
|
|
5
5
|
0. ソースコードを貼るときはmarkdownを使って整形しましょう。
|
6
6
|
|
7
|
-
1. タグが「C#」になっています。正しくは「C」かと。
|
7
|
+
1. タグが「**C#**」になっています。正しくは「C」かと。
|
8
8
|
|
9
9
|
|
10
|
+
|
11
|
+
続けて回答ですが、
|
10
12
|
|
11
13
|
> warning:comparison between pointer and integer
|
12
14
|
|
1
改行位置修正
test
CHANGED
@@ -12,9 +12,7 @@
|
|
12
12
|
|
13
13
|
|
14
14
|
|
15
|
-
エラーメッセージと言うか警告としては「ポインターとintegerを比較しているのでおかしくね?」ですね。
|
16
|
-
|
17
|
-
ファイルから`fscanf`を利用して行データを読み込んでいるのですから、fscanfの返り値が使えます。
|
15
|
+
エラーメッセージと言うか警告としては「ポインターとintegerを比較しているのでおかしくね?」ですね。ファイルから`fscanf`を利用して行データを読み込んでいるのですから、fscanfの返り値が使えます。
|
18
16
|
|
19
17
|
[scanf](https://linuxjm.osdn.jp/html/LDP_man-pages/man3/scanf.3.html)
|
20
18
|
|
@@ -22,19 +20,17 @@
|
|
22
20
|
|
23
21
|
|
24
22
|
|
25
|
-
返り値がEOFならファイル終端なので、これでループを抜けます。do ~ whileは少々不適切です。でないと、
|
23
|
+
返り値がEOFならファイル終端なので、これでループを抜けます。do ~ whileは少々不適切です。でないと、今の質問者様のコードでは、空の無効なデータを参照していることになります。
|
26
|
-
|
27
|
-
今の質問者様のコードでは、空の無効なデータを参照していることになります。
|
28
24
|
|
29
25
|
|
30
26
|
|
31
|
-
fscanfで正しく1項目読めたら1が返るので、そのときに `count++`します。
|
27
|
+
`fscanf`で正しく1項目読めたら1が返るので、そのときに `count++`します。
|
32
28
|
|
33
|
-
尚、`fscanf`での読み込むデータはdouble なので、書式指定は"%f"ではなく、"%lf"かと。
|
29
|
+
尚、`fscanf`での読み込むデータは`double` なので、書式指定は`"%f"`ではなく、`"%lf"`かと。
|
34
30
|
|
35
31
|
|
36
32
|
|
37
|
-
ファイルの`fopen`チェックなどを含めて修正してみた例が以下、です。
|
33
|
+
ファイルの`fopen`時のチェックなどを含めて修正してみた例が以下、です。
|
38
34
|
|
39
35
|
```C
|
40
36
|
|