C言語なら俺に聞け(入門篇) Part 34at TECH
C言語なら俺に聞け(入門篇) Part 34 - 暇つぶし2ch275:デフォルトの名無しさん
08/08/18 06:56:05
符号有/無の変数同士の四則演算についての質問です。

long hoge1=-101;
ulong hoge2=100;
printf("%d",(hoge1+hoge2));
とすると、「-1」が、
if( (hoge1 + hoge2)>0){printf("和が0以上\n")}
とすると、「和が0以上」と表示されました。
結果として、printfは正常、if文は異常な動作をしています。
if( (hoge1 + (long)hoge2)>0)・・・のように
if文中で使用している変数を型を揃えた場合、if文も正常に動作しました。
おそらく、if文中では変数の型を揃えないといけないものと勝手に理解しましたが、
これはC言語の仕様によるものでしょうか?


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch