2012年5月26日土曜日

開発環境

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

実習4-5.

%dにfloat型を代入

コード(TextWrangler)

#include <stdio.h>

int main(){
  float a = 1.2;
  printf("%d\n",a);
  return (0);
}

入出力結果(Terminal)

$ cc -g -o sample sample.c
sample.c: In function ‘main’:
sample.c:5: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘double’
sample.c:5: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘double’
$ ./sample
1719204608
$

%fにint型を代入

コード(TextWrangler)

#include <stdio.h>

int main(){
  float a = 10;
  printf("%f\n",a);
  return (0);
}

入出力結果(Terminal)

$ cc -g -o sample sample.c
$ ./sample
10.000000
$

%dに文字型を代入

コード(TextWrangler)

#include <stdio.h>

int main(){
  char c = 'a';
  printf("%d\n",c);
  return (0);
}

入出力結果(Terminal)

$ cc -g -o sample sample.c
$ ./sample
97
$

3つの結果から、float型はint型(%d)に自動変換されないけど、整数型は浮動小数点数型、文字型は整数型に自動変換されるみたい。

0 コメント:

コメントを投稿