回答編集履歴

4

参考資料の追加

2020/07/10 14:29

投稿

bboydaisuke
bboydaisuke

スコア5270

test CHANGED
@@ -51,3 +51,7 @@
51
51
  }
52
52
 
53
53
  ```
54
+
55
+
56
+
57
+ 参照: [i++と++iの違い](https://qiita.com/shunsuke227ono/items/0e1b9bbbe05d8b91e50f)

3

shuusei

2020/07/10 14:29

投稿

bboydaisuke
bboydaisuke

スコア5270

test CHANGED
@@ -24,9 +24,11 @@
24
24
 
25
25
  int times(void){
26
26
 
27
- count++;
27
+ // count++;
28
28
 
29
+ // return count;
30
+
29
- return count;
31
+ return ++count;
30
32
 
31
33
  }
32
34
 

2

Markdown を使うため回答に追記した

2020/07/10 14:26

投稿

bboydaisuke
bboydaisuke

スコア5270

test CHANGED
@@ -1,7 +1,51 @@
1
1
  count の初期値が 0 だからじゃないですか?
2
+
3
+ ああ、でも count++ を返しているから 1 からなのか...
2
4
 
3
5
 
4
6
 
5
- ああ、でも count++ を返しているから 1 からなのか...
7
+ 【追記】
6
8
 
9
+ return count++ は count を return してから 1 を足すみたいですね。
10
+
11
+ 以下のコードだと質問者の期待している結果になります。
12
+
13
+
14
+
15
+ ```
16
+
17
+ #include<stdio.h>
18
+
19
+
20
+
21
+ int times(void);
22
+
23
+ int count=0;
24
+
25
+ int times(void){
26
+
7
- 出直してきます。
27
+ count++;
28
+
29
+ return count;
30
+
31
+ }
32
+
33
+
34
+
35
+ int main(void)
36
+
37
+ {
38
+
39
+ int i;
40
+
41
+ for(i=0;i<5;i++){
42
+
43
+ printf("%d\n",times());
44
+
45
+ }
46
+
47
+ return 0;
48
+
49
+ }
50
+
51
+ ```

1

間違いがあったので追記した

2020/07/10 14:13

投稿

bboydaisuke
bboydaisuke

スコア5270

test CHANGED
@@ -1,3 +1,7 @@
1
1
  count の初期値が 0 だからじゃないですか?
2
2
 
3
+
4
+
3
- count の初期値を 1 にして試してみるといいと思います。
5
+ ああ、でも count++返しているから 1 からなのか...
6
+
7
+ 出直してきます。