- ベストアンサー
printf("\a");のアラーム音
言語:c #include <stdio.h> int main ( void ) { printf("\a"); return (0); } 上記のプログラムを実行すると、 アラーム音(?)が鳴ります。 音が出ている場所がスピーカからではなくて、 PCの本体から出ているようです。 なぜスピーカから鳴らないのでしょうか。 なぜPC本体から鳴っているのでしょうか。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
環境にもよるのですが…Windowsですか?一般的なPCの場合、 スピーカからなる宇和揺る普通のサウンドの他に、BEEP音源というのがありまして。 こちらはデバイスが違うのでPC本体から直接音が鳴ります。 # 現在では、例えばシステムの異常を通知するような時くらいしか使われないかも。 で、\aにこちらが使われるのは、多分にMS-DOS時代からの歴史的な経緯じゃないかと思います。 昔はコレでも普通でしたし、 \aは「何か音がなればいい」というものであって、どんな音を鳴らすかは別に決まってないですし、 めったに使われないので綺麗なサウンドとか必要ないと思いますし、 OSがおかしくてもなる可能性がBEEPの方が高いかもしれませんし…。
その他の回答 (1)
- jacta
- ベストアンサー率26% (845/3158)
標準出力に'\a'を出力した場合、それは「警報(alert)」ということが決まっているだけで、音が鳴らなければならないわけではありません。 例えば、画面がフラッシュするとか、マウスなどが振動するとか、旗が振られるとか、狼煙が上がるとかでも全く問題ないわけです。 > なぜスピーカから鳴らないのでしょうか。 > なぜPC本体から鳴っているのでしょうか。 まともな音ならスピーカ(PC本体の中にあるか外にあるかは別として)が鳴っているはずです。 それとも、ハードディスクやファンなどの機械音がするとか、そういう話しでしょうか? いずれにしても、正確な環境ぐらいは書きましょう。
お礼
ご回答ありがとうございます。
お礼
ご回答ありがとうございます。