回答編集履歴

1

加筆

2017/05/09 02:53

投稿

ttyp03
ttyp03

スコア16998

test CHANGED
@@ -9,3 +9,55 @@
9
9
  対して関数**内**で定義する変数は、ローカル変数になります。
10
10
 
11
11
  関数内でしか使えません。
12
+
13
+
14
+
15
+ 追記
16
+
17
+
18
+
19
+ 関数の戻り値について書き忘れたので追記します。
20
+
21
+ 前述したように、ローカル変数は関数内でのみ使えます。
22
+
23
+ 関数内で求めた値を呼び出し元に返したい場合に、戻り値を使います。
24
+
25
+ 提示されているコードを修正すると以下のようになります。
26
+
27
+ ```c
28
+
29
+
30
+
31
+ void setup() {
32
+
33
+ Serial.begin(9600);
34
+
35
+ delay(1000);
36
+
37
+ int a = 1;
38
+
39
+ int b = 3;
40
+
41
+ int c;
42
+
43
+ c = sum(a,b);
44
+
45
+ Serial.println(c);
46
+
47
+ }
48
+
49
+
50
+
51
+ int sum(int a, int b){
52
+
53
+ int ret;
54
+
55
+ ret = a + b;
56
+
57
+ return ret;
58
+
59
+ // 便宜上一旦retに入れていますが、return a + b; でも良い
60
+
61
+ }
62
+
63
+ ```