/*  Part2 演習問題 3 */
#include <stdio.h>

int main(void)
{

  int i=12.34 ;  /* 整数型変数i, 初期値は12.34 */

  char c=56.789 ;  /* 文字型変数c, 初期値は56.789 */

  double d=567 ; /* 浮動小数点型変数d, 初期値は567 */

  double e='A' ; /* 浮動小数点型変数e, 初期値は'A' */


  printf("i=%d c=%c d=%lf e=%lf \n",i,c,d,e) ; /* 書式指定で変数の値出力 */

  return(0) ;
}


i=12 c=8 d=567.000000 e=65.000000


  1. 整数型変数iには浮動小数点数を初期値として代入しているが,代入の際に小数点以下の値は切り捨てられる.よって,整数部分の値「12」だけが出力される.
  2. 文字型変数cにも浮動小数点数を初期値と代入しているが,代入の際に小数点以下の値は切り捨てられる.「8」が出力されているが,これは10進数56(16進数の38)が文字コードの数字8だからである.
  3. 浮動小数点型変数dには整数を初期値と代入しているので,小数点以下の値が0と見なされる.
  4. 浮動小数点型変数eには文字定数'A'を初期値として代入している.文字定数'A'は文字コードで10進数の65(16進数の41)が割り当てられているので,小数点以下が0の65.000000が出力される.