リテラル
- ここでの問題は、右側の値が
int
に収まらないほど大きすぎる点だ。整数リテラルの規則によると、その型はlong
となる。そのため、左側の変数の型に合わない。少なくとも2つの解決策がある。1つは、
auto
キーワードを使用して、変数の型をコンパイラに任せる方法だ。amount
の型は、右辺の初期値からlong
と推測される。もう1つの解決策は、変数の型も
long
にする方法である。 - 行の先頭に表示する特別な文字"
'\r'
"を利用することができる。このプログラムの出力は、出力バッファとの相互作用により不安定になる可能性がある。次のプログラムは、出力バッファをフラッシュし、各書き込み後に10ミリ秒待機する:
出力のフラッシュは通常必要ない。なぜなら、
writeln
によって次の行に進む前に、またはstdin
から読み込む前に自動的にフラッシュされるからだ。