回答編集履歴

2

記述修正

2017/11/12 04:27

投稿

dodox86
dodox86

スコア9183

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

改行位置修正

2017/11/12 04:27

投稿

dodox86
dodox86

スコア9183

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