回答編集履歴
3
リンクを見やすくした
answer
CHANGED
@@ -39,5 +39,5 @@
|
|
39
39
|
```
|
40
40
|
これだと意図通りですね。
|
41
41
|
|
42
|
-
https://www.jpcert.or.jp/sc-rules/c-exp33-c.html
|
43
|
-
https://ja.stackoverflow.com/questions/35750/%E6%9C%AA%E5%88%9D%E6%9C%9F%E5%8C%96%E5%A4%89%E6%95%B0%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E9%83%A8%E5%88%86%E3%82%92%E5%90%AB%E3%82%80%E5%BC%8F%E3%81%AF%E5%85%A8%E4%BD%93%E3%81%A8%E3%81%97%E3%81%A6%E5%8B%95%E4%BD%9C%E6%9C%AA%E5%AE%9A%E7%BE%A9%E3%81%8B
|
42
|
+
[未定義動作についてリンク1](https://www.jpcert.or.jp/sc-rules/c-exp33-c.html)
|
43
|
+
[未定義動作についてリンク2](https://ja.stackoverflow.com/questions/35750/%E6%9C%AA%E5%88%9D%E6%9C%9F%E5%8C%96%E5%A4%89%E6%95%B0%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E9%83%A8%E5%88%86%E3%82%92%E5%90%AB%E3%82%80%E5%BC%8F%E3%81%AF%E5%85%A8%E4%BD%93%E3%81%A8%E3%81%97%E3%81%A6%E5%8B%95%E4%BD%9C%E6%9C%AA%E5%AE%9A%E7%BE%A9%E3%81%8B)
|
2
不要コメント削除
answer
CHANGED
@@ -7,8 +7,6 @@
|
|
7
7
|
|
8
8
|
なっていません。ただのローカル変数です。
|
9
9
|
|
10
|
-
> 上記プログラムの countfunc 関数実行時の最初に勝手に変数 count に 0 が必ず代入されるにはなぜなのでしょうか。
|
11
|
-
|
12
10
|
C言語の規約にはなかったはずなので、0が入るのはたまたまか、実装依存です(MSVCなのかgccなのかとか)。
|
13
11
|
WandBoxとかで試すとg++(C++)かな?
|
14
12
|
Javaとかはルールが決まっていて、0になったかと思います。
|
1
誤記載の微修正
answer
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
面白いですね。この挙動。結論としてはC/C++では初期化しておいたほうが良く、今回の場合ですと初期化し
|
1
|
+
面白いですね。この挙動。結論としてはC/C++では初期化しておいたほうが良く、今回の場合ですと初期化しないといけません。
|
2
2
|
たぶん未定義動作ってやつでないかなーと思います。
|
3
3
|
直近で残っていた内部的に参照していたエリアを見てしまうのだと思います。
|
4
4
|
この挙動に依存したプログラムはバグだと思います。なので、この場合ですと0で初期化すべきです。
|