- ベストアンサー
小数点表示とvoidについて
こんにちは。 C言語初級者になります。 参考書を片手に勉強しているのですが いくつか不明な点があり、投稿させて頂きました。 参考書記載の、下記サンプルソースなのですが実行すると 「waru」が正しく表示されません。 どうやら計算結果が小数点の場合、「0」となるようです。 質問(1) 「waru」の結果を小数点表示で出力したい場合、どう修正すれば宜しいのでしょうか? 「int waru」宣言をdoubleやfloat宣言に修正しても駄目でした。。。 質問(2) このサンプルソースは「void keisan( int a, int b )」が 2回記述されていますが、1回目の意味が分かりません。 2回目の記述はkeisan関数で、計算させている部分だとは思うのですが。。。 また、このkeisan関数が何故void型なのか分かりません。 上級者の方から見れば簡単かとは思いますが どうぞ分かりやすい説明をお願いいたします。 ~~~~~~~~ ここから ~~~~~~~~~~ #include <stdio.h> void keisan( int a, int b ); int main( int argc, char* argv[] ) { int a, b; scanf( "%d", &a ); scanf( "%d", &b ); keisan( a, b ); return 0; } void keisan( int a, int b ) { int tasu, hiku, kakeru; int waru; tasu = a + b; hiku = a - b; kakeru = a * b; waru = a / b; printf( "tasu:%d\n", tasu ); printf( "hiku:%d\n", hiku ); printf( "kakeru:%d\n", kakeru ); printf( "waru:%d\n", waru ); return; }
- みんなの回答 (7)
- 専門家の回答
お礼
分かり易い説明ありがとう御座います。 基本的な間違いだったみたいですね。 お陰様で勉強になりました。