これは迷信というより、本来は入門向けに難しい話をカットして説明するときの方便のようなものだったはずです。しかし、入門レベルのときはそれでよくても、入門者から次の段階に進む頃までその状況を引きずるべきではありません。また、入門者に指導する際も、難しい話を避けるのはよいとしても、誤った理解をさせてしまうのはどうかと思います。
標準関数のscanf関数は(gets, getchar, std::cinなどを用いても同じ)キーボードから入力するためものものではありません。これらの関数(またはオブジェクト)は、標準入力から読み込むためのものです。標準入力がどんなデバイスに結びつけられるかは実行環境次第ですので、こうした方法で必ずキーボードから入力されることを期待するのは危険です。
もちろん、特定用途および特定環境を想定した設計というのは普通にありますので、キーボードからの入力を想定することも”あり”ですが、自分が何をやろうとしているのかを理解しているのと、そうでないのとでは、雲泥の差があるのです。

![[迷信] 実数型とは浮動小数点型のことである](https://www.kijineko.co.jp/wp-content/uploads/2021/06/4011255_s.jpg)
![[迷信] 1バイトは8ビット](https://www.kijineko.co.jp/wp-content/uploads/2021/05/2495800_s.jpg)
![[迷信] 入力データ格納用配列のサイズはBUFSIZ](https://www.kijineko.co.jp/wp-content/uploads/2021/06/buffer.png)
![[迷信] ソースコード中の即値を全廃せよ](https://www.kijineko.co.jp/wp-content/uploads/2021/06/4167072_s.jpg)
![[迷信] 識別子に使える文字は英数字と下線のみ](https://www.kijineko.co.jp/wp-content/uploads/2021/06/1210817_s.jpg)
![[迷信] scanfではバッファオーバーランを防げない](https://www.kijineko.co.jp/wp-content/uploads/2021/06/3279051_s.jpg)