回答編集履歴

3

追記

2017/12/29 14:10

投稿

LouiS0616
LouiS0616

スコア35658

test CHANGED
@@ -47,3 +47,25 @@
47
47
  後略
48
48
 
49
49
  ```
50
+
51
+
52
+
53
+ 追記
54
+
55
+ ---
56
+
57
+ > 以下のようなfor文を用いたコードを実行したところ、エラーが出てしまいました。
58
+
59
+
60
+
61
+ 原因と解決策がもろに書いてあります。**まずは表示されたものを読んでください。**
62
+
63
+ 単語は日頃カタカナで使うものばかりですし、文法は中学生レベルです。
64
+
65
+ > trial.c:7:5: error: 'for' loop initial declarations are only allowed in C99 mode
66
+
67
+ > trial.c:7:5: note: use option -std=c99 or -std=gnu99 to compile your code
68
+
69
+
70
+
71
+ オプションを変えるか、for文の初期化部分を少し書き換えれば良いです。

2

初期値変更

2017/12/29 14:10

投稿

LouiS0616
LouiS0616

スコア35658

test CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  ```C
6
6
 
7
- for(int i = 0; fgets(tmpline, 256, fp); ++i){
7
+ for(int i = 1; fgets(tmpline, 256, fp); ++i){
8
8
 
9
9
  printf("%d行目: %s", i, tmpline);
10
10
 

1

追記

2017/12/29 13:46

投稿

LouiS0616
LouiS0616

スコア35658

test CHANGED
@@ -11,3 +11,39 @@
11
11
  }
12
12
 
13
13
  ```
14
+
15
+
16
+
17
+ なお、コマンドラインから引数を受け取りたい場合は、次のように書けばよいでしょう。
18
+
19
+ ```C
20
+
21
+ int main(int argc, char **argv) {
22
+
23
+ if(argc < 3) {
24
+
25
+ printf("USAGE: .exe filename line_num\n");
26
+
27
+ return -1;
28
+
29
+ }
30
+
31
+
32
+
33
+ char *filename = argv[1];
34
+
35
+ int row_num = atoi(argv[2]);
36
+
37
+
38
+
39
+ if(row_num < 1) {
40
+
41
+ return -1;
42
+
43
+ }
44
+
45
+
46
+
47
+ 後略
48
+
49
+ ```