
Ubuntu日本語フォーラム

ログインしていません。
windows7とのデュアルブートを行いました。
gfortranをインストールを完了し、テストとして簡単なプログラムを書きました。コンパイルはできるのですが
計算がうまくいきません。プログラムのソースは以下。
real a,b,c
c=a+b
read(*,*) a,b
write(*,*) c
end
例えばa,bに2,4を入力すると、 出力は 6 になるはずが 3.93422972E-33 のようになってしまいます。
また、この結果は実行する度に異なる値をとります。(5.70067814E-33など......)
どなたか解決のためのアドバイスをお願いします。
オフライン
投稿者です。
補足ですが、 real a,b,c を integer a,b,c にすると出力結果は 159359417 のようになります。(こちらも毎回異なる値になります)
オフライン
fortranという言語は名前以外全く知らないのですが、
real a,b,c
c=a+b
read(*,*) a,b
write(*,*) c
enda,bが初期される前に、cを計算してしまっているのがまずいのではないでしょうか。
UbuntuのFortran環境の問題ではなく、Fortranの文法の問題だと思われます。
オフライン
>>hmatsuさん
a,bを入力後にcを計算するように書き換えたところ、確かに結果は6になりました。
こんな初歩的なことで......。お恥ずかしい。
ありがとうございました。
オフライン