2012年3月13日火曜日

開発環境

『実践プログラミング 第3版』 (Steve Oualline (著)、 望月 康司 (監修) (翻訳)、 谷口 功 (翻訳)、 オライリー・ジャパン、1998年、ISBN978-4900900646)の4章(基本的な宣言および式)(プログラミング実習)浮動小数点数型の除算と整数型の除算の設問4-2, 3, 4, を解いてみる。

コード(TextWrangler)

#include <stdio.h>

float answer1;
float answer2;
int answer3;
float result;
int main()
{
    /* 整数型割る整数型で結果は0になり、それがfloat型の変数answer1に代入されて0.0になる */
 answer1 = 1/3;
 
 /* 以下のように修正すれば、float型の結果を代入できる */
 answer2 = 1.0/3;
 
 answer3 = 2 + 2;
 
 result = 7.0 / 22.0;
 
 printf("The value of 1/3 is %f\n",answer1);
 printf("The value of 1.0/3 is %f\n",answer2);
 
 /* printf("The answer3 is %d\n"); %d変換が指定されてない */
 printf("The answer3 is %d\n",answer3);
 
 /* 整数型の%dにfloat型のresultを指定してるという問題がある
 printf("The result is %d\n",result);
 */
 /* ということで%dを%fに変えればいい */
 printf("The result is %f\n",result);
 return (0);
}

入出力結果(Terminal)

$ cc -g -o c_program c_program.c
$ ./c_program
The value of 1/3 is 0.000000
The value of 1.0/3 is 0.333333
The answer3 is 4
The result is 0.318182
$

0 コメント:

コメントを投稿