Newsgroups: fj.archives.answers,fj.lang.c
Path: galaxy.trc.rwcp.or.jp!coconuts.jaist!wnoc-tyo-news!spinnews!spin-hsd0-tky!yhqfm!xeroc!leia!133.140.40.2!kitano
From: kitano@crd.yokogawa.co.jp (Kinichi - Kinchan - Kitano)
Subject: comp.lang.c Answers to Frequently Asked Questions (FAQ List) in Japanese
Sender: news@leia.pa.yokogawa.co.jp (placeholder for future)
Message-ID: <KITANO.95Aug1185019@sda.crd.Yokogawa.CO.JP>
Date: Tue, 1 Aug 1995 23:50:19 GMT
Expires: Mon, 1 Apr 1996 12:00:00 GMT
Reply-To: kitano@crd.yokogawa.co.jp
References: <1995Jul01.0300.scs.0001@eskimo.com>
Organization: Yokogawa Electric Corporation,Tokyo,Japan
Followup-To: fj.lang.c
Lines: 3478
Xref: galaxy.trc.rwcp.or.jp fj.archives.answers:433 fj.lang.c:1200
X-originally-archived-at: http://galaxy.rwcp.or.jp/text/cgi-bin/newsarticle2?ng=fj.lang.c&nb=1200&hd=a
X-reformat-date: Mon, 18 Oct 2004 15:18:22 +0900
X-reformat-comment: Tabs were expanded into 4 column tabstops by the Galaxy's archiver. See http://katsu.watanabe.name/ancientfj/galaxy-format.html for more info.

Archive-name: c-faq/japanese
Last-modified: 1 Aug. 1995



    C  $B8@8l(B Q&A
     $BKLLn(B $B6V0l(B
  1995 $BG/(B8$B7n(B1$BF|(B
      Abstract

$BK\=q$G$O!"(B C $B8@8l$K4X$9$k$h$/$"$k<ALd$H!"(B $B$=$N2sEz$r$^$H$a$F$$$^$9!#(B

-1         $BLu<T$^$($,$-(B

$BK\=q$O!"(B USENET $B%K%e!<%9%0%k!<%W(Bcomp.lang.c $B$K4s$;$i$l$?(BFrequently
Asked Questions (FAQ) $B5-;v$rK]Lu$7$?$b$N$G$9!#(B $BK]Lu$7$?5-;v$O!"(B
'95/04/1 $B$KEj9F$5$l$?$b$N$G$9!#(B

$BK\=qCf$N;29M=q$N>JN,7A$K$D$$$F$O!"4,Kv$N0lMw$r;29M$K$7$F$/$@$5$$!#$J(B
$B$*(BReference$B$N%Z!<%8HV9f$O86=q$N$b$N$G$9!#(B

$BK\=q$NFbMF$O!"(B $B85869F$K9g$o$;$F(B $B!V$3$N5-;v!W(B $B$H$$$&8F$SJ}$r$7$F$$$^$9!#(B 
$B$^$?K\=q$NCf$G=P$F$/$k(B $B!VJT<T!W(B $B$b!"(B $BLu<T$G$O$J$/!"(B $B85$N(BFAQ $B$NJT<T$r;X(B
$B$7$^$9!#(B

0        $B$O$8$a$K(B

$B$3$N%K%e!<%9%0%k!<%W(B(comp.lang.c) $B$K2?EY$b=P$F$/$kOCBj$,$"$k!#(B $B$=$l$i(B
$B$O$b$C$H$b$J<ALd$G$"$j!"(B $BEz$($b$9$0$K=P$F$3$J$$$b$N$b$"$k!#(B $B$7$+$7OCBj(B
$B$K$N$\$k$?$S$K!"(B $B%M%C%H%o!<%/$N;q8;$HFI<T$N;~4V$,!"(B $BJVEz$H$=$&$$$&JVEz(B
$B$K$D$-$b$N$N8mEz$ND{@5$H$$$&ITLS$J$3$H$KHq$d$5$l$k!#(B

$B$3$N5-;v$OKh7nEj9F$5$l$k!#(B $BL\E*$O!"(B $B$3$l$i$N7+$jJV$5$l$k<ALd$KE*3N$K$+(B
$B$D4JL@$KEz$($k$3$H$K$h$j!"(B $B%M%C%H%o!<%/$G$N5DO@$,$b$C$H7z@_E*$JOCBj$K(B
$B0\9T$9$k$h$&$K$b$C$F$$$/$3$H$G$"$k!#(B

$B$I$s$J$KM%$l$?5-;v$b!"(B $BA4HO0O$r%+%P!<$9$k652J=q$d(BC $B8@8l$N%^%K%e%"%k$r(B
$BCm0U?<$/FI$`$3$H$NBeMQ$H$O$J$i$J$$!#(B C $B8@8l$K4X?4$,$"$C$F!"(B $B$3$N%K%e!<(B
$B%9%0%k!<%W$rFI$b$&$H$9$k<T$G$"$l$P!"(B $B$3$l$i$N%^%K%e%"%k$r2?:}$+!"(B $B$G$-(B
$B$l$P?t2sFI$`$3$H$K$b4X?4$rJ'$&$3$H$G$"$m$&!#(B $B;DG0$J$,$i(BC $B8@8l$NK\$d%3(B
$B%s%Q%$%i$N%^%K%e%"%k$NCf$K$OE,@Z$G$J$$J*$,$"$k!#$R$I$$$b$N$K$J$k$H!"(B 
$B$3$N5-;v$,O@GK$7$h$&$H$7$F$$$kLB?.$r$3$N@$$K;D$9$N$K9W8%$7$F$$$k!#(B C 
$B8@8l$K4X$9$kK\$GCmL\$KCM$9$kK\$O$3$N5-;v$N;29M=q0lMw$K5s$2$F$"$k!#(B $B6=(B
$BL#$r;}$C$?FI<T$NJY6/$N=u$1$K$J$k$h$&$K!"(B $BB?$/$N<ALd$d2rEz$K$O!"(B $B$3$l$i(B
$B$NK\$N;29M$9$Y$-%Z!<%8$r$D$1$F$"$k(B(ANSI $B$H(BISO C $B$N0c$$$KCm0U$9$k$3$H!#(B 
$B$^$?(BQ5.1 $B$r;2>H$N$3$H(B)$B!#(B
_____________________________________________________________________
    $BLuCm(B:  $B;29M=q$N%Z!<%8HV9f$O86Cx$N$b$N$G$"$k!#(B

C $B$K4X$9$k<ALd$G$3$NK\$KEz$($N:\$C$F$$$J$$$b$N$,$"$l$P!"(B $B$G$?$H$3>!Ii(B
$B$G%M%C%H$K<ALd$9$k$N$G$O$J$/!"(B $B652J=q$r2?:}$+$"$?$k$+Gn<1$JF1N=$KAjCL(B
$B$9$k$3$H!#(B $B%M%C%H$K$O<ALd$K4n$s$GEz$($F$/$l$k?M$,$?$/$5$s$$$k$1$l$I!"(B 
$B%M%C%H$K;22C$9$k?M$,A}$($k$K$D$l!"0l$D$N<ALd$K$/$jJV$74s$;$i$l$k2rEz$N(B
$BNL$d<ALd$N?t$,$&$s$6$j$9$k%l%Y%k$^$GMh$D$D$"$k!#(B ($B$b$7$b$3$N5-;v$K<ALd(B
$B$d%3%a%s%H$,$"$l$P!"(B $B$3$N5-;v$K%U%)%m!<$9$k$N$G$O$J$/%a!<%k$GJVEz$9$k(B
$B$3$H!#(B_ $B$3$N5-;v$O%M%C%H%o!<%/$NIi2Y$r8:$i$9$N$,L\E*$G$"$C$FA}$d$9$3$H(B
$B$,L\E*$J$N$G$O$J$$(B_)

$B$3$N5-;v$O!"(B $B$h$/J9$+$l$k<ALd$r$"$2$k$@$1$G$J$/!"(B $B2?EY$b4s$;$i$l$k2rEz(B
$B$b$^$H$a$F$"$k!#(B $B$3$l$i$N2rEz$r$9$Y$FCN$C$F$$$?$H$7$F$b!"(B $B$3$N%j%9%H$r(B
$B;~@^$J$,$a$k$3$H$O!"(B $BITCm0U$KEj9F$5$l$?<ALd$r8+$F$b!"(B $BEz$($k$3$H$K;~4V(B
$B$rL5BL$K$7$J$$$3$H$KLrN)$D!#(B

$B$3$N5-;v$O(B1995 $BG/(B4 $B7n(B1 $BF|$K:G8e$K=$@5$7$?!#(B $B$3$N5-;v$,(BUsenet $B$N2f$,2H(B
$B$rN%$l$F$+$i$9$4$/1s$/$^$GN9$7$?$+$b$7$l$J$$!#(B $B$=$l$G:#$H$J$C$F$O;~Be(B
$BCY$l$K$J$C$F$$$k$+$b$7$l$J$$!#(B $B0u;z$5$l$?$b$N$r<j$KF~$l$?$j!"(B $B?7@8Be$N(B
$B:"$K=P$5$l$?$h$&$J8E$$5-;v$rJ]B8$7$F$$$k%5%$%H$+$i0z$CD%$j=P$7$F$-$?$j!"(B 
CD-ROM $B$+$i<j$KF~$l$?$H$9$l$P!"(B $B$$$C$=$&;~BeCY$l$K$J$C$F$$$k2DG=@-$,$"(B
$B$k!#(B $B:G?7HG$O>o$K(Bftp.eskimo.com $B$^$?$O(Brtfm.mit.edu$B$d(Bftp.uu.net $B$+$i(B
anonymous ftp $B2DG=$G$"$k(B(Q17.12 $B$H(BQ17.33 $B$r;2>H$N$3$H(B)$B!#(B $B$"$k$$$O(B 
$B!V(Bhelp$B!W(B $B$HK\J8$K=q$$$F(Bmail-server@rtfm.mit.edu $B$KEE;R%a!<%k$rAw$k$3$H(B
$B$G$b:G?7HG$r<j$KF~$l$k$3$H$,$G$-$k(B($B$J$*!"(B $B$3$N5-;v$OL5NA$GG[I[$9$k$3$H(B
$B$r0U?^$7$F:n@.$7$?!#<j$KF~$l$k$N$KC/$+$K$*6b$rJ'$&I,MW$O$J$$!#(B )

$B$3$N5-;v$OJL$N7ABV$G$bDs6!$7$F$$$k!#(B $B$3$N5-;v$KH<$C$F4JN,HG$H!"(B ($BFbMF(B
$B$rJQ99$7$?$H$-$O(B) $BA02s$NHG$H$N:9$N0lMw$rEj9F$7$F$$$k!#<B83E*$J%O%$%Q!<(B
$B%F%-%9%HHG$,$$$/$D$+(Bworldwide web(WWW) $B>e$GMxMQ2DG=$G$"$k!#(B

<http://www.cis.ohio-state.edu/hypertext/faq/usenet/FAQ-List.html>$B$d(B
<http://www.lysator.liu.se/c/c-faq/index.html>$B$K%"%/%;%9$9$l$P$h$$!#(B 
$B:G8e$K!"@=K\$5$l$?%O!<%I%3%T!<HG(B($BEz$($O$b$C$HD9$$$7!"(B $B<ALd$N?t$bB?$$(B) 
$B$N$[$&$,$$$$?M$K$O!"K\$H$7$F$J$j$?$D$@$1$ND9$5$r;}$C$?HG$,(B
Addison-Wesley $B$+$i(B1995 $BG/$N=)$K=PHG$5$l$k(B(ISBN 0-201-84519-9)$B!#(B

$B$3$N5-;v$O@d$($:2~A1$5$l$F$$$k!#$"$J$?$+$i$N>pJs$r4?7^$9$k!#%3%a%s%H$O(B
scs@eskimo.com$B$^$G!#(B
_______________________________________________________________________
    $BLuCm(B:  $BF|K\8lHG$KBP$9$k%3%a%s%H$O(Bkitano@crd.yokogawa.co.jp $B$^$G(B

$B<ALd$O0J2<$N$h$&$K!"(B $B$$$/$D$+$N<oN`$KJ,N`$5$l$k!#(B
    1.   $B%L%k%]%$%s%?(B
    2.   $BG[Ns$H%]%$%s%?(B
    3.   $B%a%b%j$N3NJ](B
    4.   $B<0(B
    5.   ANSI C
    6.   C $B%W%j%W%m%;%C%5(B
    7.   $B2DJQ8D0z?t%j%9%H(B
    8.   $B%V!<%k<0$HJQ?t(B
    9.   $B9=B$BN!"(B $BNs5s!"(B $B6&MQBN(B
   10.   $B@k8@(B
   11.   Stdio
   12.   $B%i%$%V%i%j%5%V%k!<%A%s(B
   13.   Lint
   14.   $B%9%?%$%k(B
   15.   $BIbF0>.?tE@?t(B
   16.   $B%7%9%F%`0MB8(B
   17.   $B$=$NB>(B(Fortran $B$+$i(BC $B$X$NJQ49!"(B YACC $BJ8K!!"(B $B$=$NB>(B)
$B$h$/$"$k<ALd$H$=$N<ALd$NEz$,$3$3$+$i;O$^$k!#(B

1        $B%L%k%]%$%s%?(B

Q1.1: $B0-L>9b$$%L%k%]%$%s%?$H$O2?$+!#(B

A1.1: C $B8@8l$NDj5A$K$h$l$P$I$s$J%]%$%s%?$N7?$K$bFCJL$JCM!"(B $B$9$J$o$A(B 
      $B!V%L%k%]%$%s%?!W(B $B$,B8:_$9$k!#(B $B$3$N%L%k%]%$%s%?$OB>$N$I$s$J%]%$%s(B
      $B%?$NCM$H$b6hJL2DG=$G!"(B $B%*%V%8%'%/%H$d4X?t$N@5$7$$%"%I%l%9$K$J$k(B
      $B$3$H$b$J$$!#(B $B%"%I%l%91i;;;R(B&$B$rE,MQ$7$?7k2L$,%L%k%]%$%s%?$H$J$k$3(B
      $B$H$b$J$$!#(B $B$^$?(Bmalloc $B$N8F$S=P$7$K@.8y$7$?>l9g$NLa$jCM$,%L%k%]%$(B
      $B%s%?$K$J$k$3$H$b$J$$(B(malloc $B$ONN0h3NJ]$K<:GT$7$?>l9g$K%L%k%]%$%s(B
      $B%?$rJV$9!#(B $B$3$l$,%L%k%]%$%s%?$NE57?E*$J;H$$J}$G$"$k!#(B $B$=$NCM$K$h(B
      $B$j%"%I%l%90J30$N0UL#$r$"$i$o$9FCJL$J%]%$%s%?$NCM!"(B $B$?$H$($PNN0h(B
      $B3NJ]$N<:GT$H$+!"(B $B$^$@2?$b;X$7$F$$$J$$%]%$%s%?$K;H$o$l$k(B)$B!#=i4|2=(B
      $B$5$l$F$$$J$$%]%$%s%?$OI,$:$7$b%L%k%]%$%s%?$G$"$k$H$O8B$i$J$$!#(B 
      $B=i4|2=$5$l$F$$$J$$%]%$%s%?$,$?$^$?$^%L%k%]%$%s%?$G$"$k$3$H$O$"$k!#(B 
      $B$7$+$7J]>Z$5$l$F$$$k$o$1$G$O$J$$!#(B Q3.1$B!"(B Q3.13$B!"(B Q17.1 $B$r;2>H$N(B
      $B$3$H!#>e$NDj5A$N$H$3$m$G=R$Y$?$h$&$K!"(B $B3F%]%$%s%?$N7?$4$H$K%L%k(B
      $B%]%$%s%?$,B8:_$9$k!#(B $B%L%k%]%$%s%?$NFbIt9=B$$O%]%$%s%?$N7?$K$h$C(B
      $B$F0[$J$k$+$b$7$l$J$$!#%W%m%0%i%^$OFbIt9=B$$K$D$$$FCN$kI,MW$O$J$$(B
      $B$1$l$I!"(B $BI,MW$G$"$l$P6hJL$,$D$1$i$l$k$h$&$K!"(B $B$I$N7?$N%L%k%]%$%s(B
      $B%?$,I,MW$J$N$+$r>o$KCN$i$J$1$l$P$J$i$J$$(B($B0J2<$r;2>H(B)$B!#(B

      References: [K&R I] Sec.  5.4 pp.  97-8; [K&R II] Sec.  5.4 p.
      102; [H&S] Sec.  5.3 p.  91; [ANSI] Sec.  3.2.2.3 p.  38.

Q1.2: $B$I$&$d$l$P%W%m%0%i%`$NCf$G%L%k%]%$%s%?$r!HF@$k!I$3$H$,$G$-$k$N$+!#(B

A1.2: C $B8@8l$NDj5A$K$h$l$P!"(B $B%]%$%s%?$r=q$/$Y$-$H$3$m$K8=$l$?Dj?t(B0 $B$O!"(B 
      $B%3%s%Q%$%k;~$K%L%k%]%$%s%?$KJQ49$5$l$k!#$9$J$o$A=i4|2=!&BeF~!&Hf(B
      $B3S$r$9$k$H$-$K:8JU(B/$B1&JU$N$I$A$i$+$K%]%$%s%?7?$NJQ?t$+<0$,8=$l$?(B
      $B$H$-$O!"(B $B%3%s%Q%$%i$O$b$&0lJ}$NB&$NDj?t(B0 $B$,%L%k%]%$%s%?$rI=$7$F(B
      $B$$$k$3$H$rM}2r$7!"(B $B7?$K$"$C$?%L%k%]%$%s%?$NCM$r;:$_=P$9!#(B $B$7$?$,$C(B
      $B$F0J2<$N(BC $B%W%m%0%i%`$NCGJR$O@5$7$$!#(B

      char  *p  =  0;
      if  (p  !=  0)

      $B$7$+$74X?t$KEO$5$l$k0z?t$OI,$:$7$b%]%$%s%?$rI=$7$F$$$k$+$I$&$+<1(B
      $BJL2DG=$G$O$J$$!#$=$N$H$-%3%s%Q%$%i$O%-%c%9%H$N$D$$$F$$$J$$Dj?t(B0 
      $B$,%L%k%]%$%s%?$r0UL#$7$F$$$k$3$H$rH=JL$G$-$J$$$+$b$7$l$J$$!#(B $BNc(B
      $B$($P(BUNIX $B%7%9%F%`%3!<%k$N(Bexecl $B$O=*C<$,%L%k%]%$%s%?$NJ8;zNs$N%](B
      $B%$%s%?$r0z?t$H$7$F2DJQ8D<h$k!#$@$+$i4X?t8F$S=P$7$G%L%k%]%$%s%?$r(B
      $B07$&$H$-$K$O(B0 $B$,%]%$%s%?$rI=$o$7$F$$$k$3$H$r<($9$?$a$KL@<(E*$J%-%c(B
      $B%9%H$,I,MW$H$J$k!#(B

      execl("/bin/sh",  "sh",  "-c",  "ls",  (char  *)0);

      $B$b$7%-%c%9%H(B(char *) $B$r>JN,$9$k$H%3%s%Q%$%i$O%L%k%]%$%s%?$rEO$9(B
      $B$H$$$&$U$&$K$OM}2r$;$:!"(B $B@0?t(B0 $B$rBe$j$KEO$9(B($B$3$NNc$K8m2r$r>7$/$h(B
      $B$&$J@bL@$r$7$F$$$k(BUNIX $B$N%^%K%e%"%k$,B?$$(B)$B!#(B

      $B4X?t%W%m%H%?%$%W$r;HMQ$7$F$$$k>l9g$O!"(B $B0z?tEO$7$NOC$O(B $B!VBeF~$NOC!W(B 
      $B$H$J$j!"$?$$$F$$%-%c%9%H$r>JN,$7$F$bLdBj$J$$!#(B $B$J$<$J$i%-%c%9%H(B
      $B$N$D$$$F$$$J$$(B0$B$,%]%$%s%?$G$"$k$3$H$H!"(B $B$I$N7?$N%]%$%s%?$,I,MW$G(B
      $B$"$k$H$$$&$3$H$r%W%m%H%?%$%W$,%3%s%Q%$%i$K65$($k$N$G!"(B $B%3%s%Q%$(B
      $B%i$O(B0 $B$r@5$7$/%]%$%s%?$KJQ49$9$k$3$H$,$G$-$k!#(B $B$7$+$74X?t%W%m%H(B
      $B%?%$%W$O2DJQ8D$N0z?t$r$b$D4X?t$N0z?t%j%9%H$K7?$N>pJs$rM?$($k$3$H(B
      $B$,=PMh$J$$!#(B $B$=$3$G2DJQ8D$N0z?t$r;}$D4X?t$N>l9g$OL@<(E*$J%-%c%9(B
      $B%H$,I,MW$H$J$k!#(B $B2DJQ8D$N0z?t$r;}$D4X?t$d4X?t%W%m%H%?%$%W$r;}$?(B
      $B$J$$4X?t$K$D$$$F$O!"(B $B%L%k%]%$%s%?$N0z?t$rL@<(E*$K%-%c%9%H$9$k$3(B
      $B$H$,>o$K0lHV0BA4$JJ}K!$G$"$k!#(B $B$3$&$9$l$P!"(B ANSI $BBP1~$G$J$$%3%s(B
      $B%Q%$%i$r0l;~E*$K;H$&$3$H$b$G$-$k$7!"(B $B%W%m%0%i%^$,%]%$%s%?$K$D$$(B
      $B$FM}2r$7$F%W%m%0%i%`$r=q$$$?$H$$$&$3$H$r%3%s%Q%$%i$KEA$($k$3$H$,(B
      $B$G$-$k(B($B$?$^$?$^!"(B $B$3$&3P$($F$*$/$N$,0lHV4JC1$G$"$k(B)$B!#(B

      $BMWLs$9$k$H(B
      ---------------------------------------------------------------------
      | 0 $B$K%-%c%9%H$r$D$1$J$$$G$b$h$$>l9g(B | $BL@<(E*$J%-%c%9%H$,I,MW(B       
      |====================================================================
      | $B=i4|2=(B                             | $B4X?t%W%m%H%?%$%W$,%9%3!<%W$K(B 
      |                                    | $B$J$$$H$-$N4X?t8F$S=P$7(B       
      |--------------------------------------------------------------------
      | $BBeF~(B                               |  $B2DJQ8D0z?t$N4X?t0z?t(B         
      |--------------------------------------------------------------------
      | $BHf3S(B                               | 
      |--------------------------------------------------------------------
      | $B4X?t%W%m%H%?%$%W$,%9%3!<%W$KF~$C$F(B |
      | $B$$$k$H$-$N0z?t$N?t$,8GDj$N4X?t0z?t(B |
      |--------------------------------------------------------------------

      References: [K&R I] Sec.  A7.7 p.  190, Sec.  A7.14 p.  192;
      [K&R II] Sec.  A7.10 p.  207, Sec.  A7.17 p.  209; [H&S] Sec.
      4.6.3 p.  72; [ANSI] Sec.  3.2.2.3 .

Q1.3:     NULL $B$H$O2?$G!"(B $B$I$&(B#define $B$5$l$F$$$k$N$+(B?

A1.3: $B=q$-J}$H$7$F!"(B $B%-%c%9%H$N$J$$(B0 $B$,%W%m%0%i%`Fb$K$"$A$3$A;6$i$P$C(B
      $B$F$$$k$N$r9%$^$J$$?M$,$1$C$3$&$$$k!#(B $B$=$3$G%^%/%m(BNULL $B$,(B
      <stdio.h>$B$+(B<stddef.h>$B$K(B0 $B$H(B#define $B$5$l$F$$$k(B((void *)0 $B$HDj5A$5(B
      $B$l$F$$$k>l9g$b$"$k!#(B $B8e=R(B) $B!#@0?t(B0 $B$H%L%k%]%$%s%?(B0 $B$N0c$$$r$O$C(B
      $B$-$j$5$;$?$$>l9g$O!"(B NULL $B$r%L%k%]%$%s%?$,I,MW$G$"$k$H$3$m$J$i$I(B
      $B$3$K;HMQ$7$F$b$h$$!#(B $B$3$l$O=q$-J}$NLsB+;v$G$7$+$J$$!#(B $B%W%j%W%m%;%C(B
      $B%5$O(BNULL $B$r(B0 $B$KLa$7!"(B $B$=$N(B0 $B$O%3%s%Q%$%i$K$h$C$F(B($B%]%$%s%?$H$7$F(B) 
      $B2r<a$5$l$k!#(B $B$=$l$G$bFC$K4X?t$N0z?t$G$O(BNULL $B$K(B(0 $B$K$b(B) $BL@<(E*$J(B
      $B%-%c%9%H$,I,MW$+$b$7$l$J$$(B(Q1.2 $B$N2<$NI=$O(BNULL $B$@$1$G$J$/(B0 $B$K$b(B
      $B$"$F$O$^$k(B)$B!#(B

      NULL $B$O%]%$%s%?$H$7$F$N$_;H$&$Y$-$G$"$k!#(B Q1.8 $B$r;2>H$N$3$H!#(B

      References: [K&R I] Sec.  5.4 pp.  97-8; [K&R II] Sec.  5.4 p.
      102; [H&S] Sec.  13.1 p.  283; [ANSI] Sec.  4.1.5 p.  99, Sec.
      3.2.2.3 p.  38, Rationale Sec.  4.1.5 p.  74.

Q1.4: $B%L%k%]%$%s%?$NFbItI=8=$K(B0 $B$G$J$$%S%C%H%Q%?!<%s$r;H$C$F$$$k%^%7%s(B
      $B$G$O!"(BNULL $B$O$I$&Dj5A$5$l$F$$$k$N$+!#(B

A1.4: $B%W%m%0%i%^$O%L%k%]%$%s%?$NFbItI=8=$rCN$kI,MW$,$J$$!#(B $B%3%s%Q%$%i(B
      $B$K$^$+$;$F$*$1$P$h$$!#$"$k%^%7%s$,(B0 $B$G$J$$%S%C%H%Q%?!<%s$r%L%k%](B
      $B%$%s%?$rI=$9$N$K;H$C$F$$$?$H$7$F$b!"(B $B%W%m%0%i%^$,%W%m%0%i%`Cf$K(B 
      $B!V(B0$B!W(B $B$d(B $B!V(BNULL$B!W(B $B$H=q$$$F%L%k%]%$%s%?$rMW5a$7$?$H$-$K%L%k%]%$%s(B
      $B%?$r:n$j=P$9$N$O%3%s%Q%$%i$N;E;v$G$"$k!#(B $B$@$+$i%L%k%]%$%s%?$NFb(B
      $BItI=8=$,(B0 $B$G$J$$%^%7%s$G(BNULL $B$r(B0 $B$K(B#define$B$9$k$N$OB>$N%^%7%s>e$H(B
      $B$*$J$8$h$&$KBEEv$G$"$k!#(B $B$J$<$J$i%-%c%9%H$N$D$$$F$$$J$$(B0 $B$,%]%$(B
      $B%s%?$rI,MW$H$9$k>l=j$K8=$l$?>l9g$K!"(B $B%3%s%Q%$%i$O!"(B $B$=$N%^%7%s$K(B
      $BE,@Z$J%L%k%]%$%s%?$r:n$j=P$5$J$1$l$P$$$1$J$$$7!"(B $B:n$j$@$9$3$H$,(B
      $B$G$-$k!#(B

Q1.5: $B$b$7(BNULL $B$,0J2<$N$h$&$KDj5A$5$l$F$$$k$H$9$k$H!"(B

      #define  NULL  (char  *)0

      $B%-%c%9%H$7$F$$$J$$(BNULL $B$r0z?t$H$7$FEO$94X?t8F$S=P$7$,F0$+$J$/$J(B
      $B$k$N$G$O(B?

A1.5: $BF0$+$J$$%^%7%s$b$"$k!#(B $B$3$3$GLdBj$O%G!<%?$N7?$,0[$J$k$H%]%$%s%?(B
      $B$NFbItI=8=$,0[$J$k%^%7%s$,$"$k$3$H$G$"$k!#(B $B>e$N(B#define $B$O!"(B $B%-%c(B
      $B%9%H$J$7$N(BNULL $B$r(Bchar $B$X$N%]%$%s%?$r0z?t$H$7$F<h$k4X?t$KEO$9$H$-(B
      $B$O$&$^$/$$$/$,!"(B $B$=$NB>$N7?$N%]%$%s%?$r4X?t0z?t$H$7$F<h$k>l9g$K(B
      $B$OLdBj$,$"$k!#(B $B$3$N>l9g$OJ8K!E*$K@5$7$$!"(B

      FILE  *fp  =  NULL;

      $B$N$h$&$JNc$G$5$($&$^$/$$$+$J$$>l9g$,$"$k!#$K$b$+$+$o$i$:(BANSI C 
      $B$O(BNULL $B$NDj5AJ}K!$H$7$F$=$NB>$K(B

      #define  NULL  ((void  *)0)

      $B$r5v$7$F$$$k!#(B $B>e$NDj5A$O!"(B $B%]%$%s%?$N7?$N07$$$K4X$7$F4V0c$$$N$"(B
      $B$k%W%m%0%i%`$rF0$/$h$&$K$9$k$7(B($B%]%$%s%?$NFbItI=8=$,$I$s$J%G!<%?(B
      $B7?$G$bF1$8%^%7%s$K8B$i$l$k!#(B $B$=$&$$$&0UL#$GLr$KN)$D$H$O$A$g$C$H(B
      $B$$$$$K$/$$$,(B)$B!"(B $B$3$NDj5A$K$h$j!"(B NULL $B$r%]%$%s%?$N0UL#0J30$G;H$&(B
      $B4V0c$$$r8+$D$1$k$3$H$,$G$-$k$+$b(B

      $B$7$l$J$$(B($B$?$H$($P(BASCII $B$N(BNUL $B%-%c%i%/%?$,K\Ev$OI,MW$J>l9g$J$I!#(B 
      Q1.8$B;2>H(B)$B!#(B

      References:  [ANSI] Rationale Sec.  4.1.5 p.  74.

Q1.6: $B;d$O!"(B $B%G!<%?7?$K1~$8$?%L%k%]%$%s%?$r:n$j=P$9$N$K0J2<$N%^%/%m$r(B
      $B;H$C$F$$$k!#(B

      #define  Nullptr(type)  (type  *)0

A1.6: $B$3$N5;$O!"(B $B0lIt$N%0%k!<%W$G$O?M5$$,$"$k$,!"(B $B$?$$$7$FLr$K$ON)$?$J(B
      $B$$!#(B $BBeF~$dHf3S$N:]$K$OI,MW$J$$!#(B Q1.2 $B$r;2>H$N$3$H!#(B $B%-!<F~NO$r(B
      $B@aLs$9$k$N$K$bLrN)$?$J$$!#(B $B$3$s$J%^%/%m$r;H$&$3$H$O!"(B $B:n<T$N%L%k(B
      $B%]%$%s%?$NCN<1$,2x$7$2$G$"$k$3$H$r%W%m%0%i%`$rFI$`?M$K0E<($9$k!#(B 
      $BFI$`?M$O$3$N%^%/%m$NDj5A$5$l$F$$$k$H$3$m!"(B $B;H$o$l$F$$$k$H$3$m!"(B 
      $B$I$s$J7A$G$b%]%$%s%?$N;H$o$l$F$$$k$H$3$m$r$9$Y$FCm0U?<$/%A%'%C%/(B
      $B$7$J$1$l$P$$$1$J$/$J$k!#(B Q8.1 $B$b;2>H$N$3$H!#(B

Q1.7: $B%]%$%s%?$,%L%k%]%$%s%?$G$J$$$+$I$&$+$N%F%9%H$N>JN,7A(B $B!V(Bif(p)$B!W(B 
      $B$OM-8z$J$N$+(B?  $B%L%k%]%$%s%?$NFbItI=8=$,(B0 $B$G$J$$>l9g$O$I$&$J$k$N(B
      $B$+!#(B

A1.7: C $B8@8l$,<0$N%V!<%kCM$rI,MW$H$9$k>l9g(B(if$B!"(B while$B!"(B for $B$d(Bdo $BJ8$K(B
      $B$*$$$F!"(B $B$^$?(B&&$B!"(B ||$B!"(B !$B!"(B ?:$B1i;;;R$H6&$K;H$&>l9g(B)$B!"(B 0 $B$HHf3S$7(B
      $B$FEy$7$$>l9g$O56$NCM$,;:$_=P$5$l!"(B $B$=$NB>$N>l9g$O??$,;:$_=P$5$l(B
      $B$k!#(B $B$9$J$o$A(B

      if(expr)

      $B$H=q$$$?$i$$$D$b!"(B $B!V(Bexpr$B!W(B $B$,$I$s$J<0$+$K$+$+$o$i$:%3%s%Q%$%i$O(B
      $BI,$:(B

      if  (expr  !=  0)

      $B$H=q$+$l$?$h$&$KF0:n$9$k!#(B $B!V(Bexpr$B!W(B $B$r(Bp $B$KCV$-49$($k$H!"(B

      if(p)  $B$O(B if(p  !=  0) $B$HF1$8(B

      $B$H$$$&$3$H$K$J$k!#(B $BHf3S$r$9$k$N$G!"(B $B%3%s%Q%$%i$O(B($B<0$G$O8=$l$l$J(B
      $B$$$,(B)0 $B$,%L%k%]%$%s%?$rI=$7$F$$$k$HH=CG$7$F@5$7$$CM$r;H$&!#(B $B%$%s(B
      $B%A%-$O$J$$!#(B $B%3%s%Q%$%i$O$3$N$h$&$KF0$-!"(B $B$I$A$i$N<0$K$D$$$F$bF1(B
      $B$8%3!<%I$r;:$_=P$9!#(B $B%]%$%s%?$NFbItI=8=$O4X78(B $B!V$J$$!W!#O@M}H]Dj(B
      $B1i;;;R(B!$B$O0J2<$N$h$&$K5-=R$9$k$3$H$,$G$-$k!#(B

      !expr $B$O(Bexpr?0:1 $B$KEy$7$$(B

      if(!p)  $B$O(B if(p==0) $B$HEy$7$$(B

      $B$H$$$&$3$H$r>ZL@$9$k$N$OFI<T$N=IBj$K;D$7$F$*$/!#(Bif(p) $B$N$h$&$J>J(B
      $BN,7A$OJ8K!E*$K$O@5$7$$$1$l$I!"(B $B%W%m%0%i%_%s%0%9%?%$%k$H$7$F$O!"(B 
      $B$h$/$J$$$H9M$($k?M$b$$$k!#(BQ8.2 $B$r;2>H$N$3$H(B

      References: [K&R II] Sec.  A7.4.7 p.  204; [H&S] Sec.  5.3 p.
      91; [ANSI] Secs.  3.3.3.3, 3.3.9, 3.3.13, 3.3.14, 3.3.15,
      3.6.4.1, and 3.6.5 .

Q1.8: $B$b$7(B $B!V(BNULL$B!W(B $B$H(B $B!V(B0$B!W(B $B$,F1$8$b$N$rI=$9$J$i!"(B $B$I$A$i$r;H$($P$h$$(B
      $B$N$+!#(B

A1.8: $BB?$/$N%W%m%0%i%^$O%]%$%s%?$rI=$9>lLL$G$O!"(B $BCM$r%]%$%s%?$H$7$F;H$C(B
      $B$F$$$k$3$H$NCm0U=q$-$H$7$F(B $B!V(BNULL$B!W(B $B$r;H$&$Y$-$@$H?.$8$F$$$k!#(B 
      $B!V(BNULL$B!W(B $B$H(B $B!V(B0$B!W(B $B$r<h$j4,$/:.Mp$O!"(B $B!V(B0$B!W(B $B$r(B#define $B$N8e$m$K1#(B
      $B$7$F$7$^$&$3$H$GNX$r$+$1$F$$$k$H?.$8!"(B $B%-%c%9%H$N$J$$(B $B!V(B0$B!W(B $B$rBe(B
      $B$j$K;H$C$F$$$k?M$b$$$k!#(B $B$3$NLdBj$K$OM#0l$N@52r$H$$$&$b$N$OB8:_(B
      $B$7$J$$!#(B C $B%W%m%0%i%^$O!"(B $B!V(BNULL$B!W(B $B$H(B $B!V(B0$B!W(B $B$O8r492DG=$G!"%-%c%9(B
      $B%H$5$l$F$$$J$$!V(B0$B!W$r=i4|2=!&BeF~!&Hf3S$N>lLL$G;H$&$3$H$O!"J8K!(B
      $B>eG'$a$i$l$F$$$k$3$H$rM}2r$7$J$1$l$P$J$i$J$$!#(B $B!V(BNULL$B!W(B $B$r;H$&$3(B
      $B$H$O(B( $B!V(B0$B!W$r;H$&$N$H0c$C$F(B)$B!"(B $B%]%$%s%?$,4X78$7$F$$$k$3$H$NCm0U(B
      $B=q$-$G$7$+$J$$!#(B $B%W%m%0%i%^$O%]%$%s%?$N(B0 $B$H@0?t$N(B0 $B$r6hJL$9$kI,(B
      $BMW$,$"$k$H$-$K$O(B $B!V(BNULL$B!W(B $B$K(B($B<+J,$GM}2r$9$kBe$o$j!"(B $B$"$k$$$O%3%s(B
      $B%Q%$%i$,2r<a$9$kBe$o$j$K(B) $BMj$C$F$O$$$1$J$$!#(B

      NULL $B$r!"(B $B%]%$%s%?0J30$N(B0 $B$,I,MW$J>lLL$K;H$C$F$O$J$i$J$$!#(B $B%W%m(B
      $B%0%i%`$OF0$/$+$b$7$l$J$$$,!"(B $B%3%s%Q%$%i$K4V0c$C$?%a%C%;!<%8$rAw$C(B
      $B$F$$$k$3$H$K0c$$$O$J$$(B(ANSI $B$O(BNULL $B$NDj5A$K(B(void *)0 $B$r;H$&$3$H(B
      $B$r5v$7$F$$$k!#(B $B$3$N>l9g%]%$%s%?0J30$,I,MW$J>l9g$O%(%i!<$H$J$k(B)$B!#(B 
      $BFC$K(BASCII $B$N%L%k%-%c%i%/%?(B(NUL) $B$,I,MW$J>l9g$O!"(B $B@dBP$K(B $B!V(BNULL$B!W(B 
      $B$r;H$C$F$O$J$i$J$$!#I,MW$J$i<+J,$G(B

      #define  NUL  '\0'

      $B$rMQ0U$9$k$3$H!#(B

      Reference:  [K&R II] Sec.  5.4 p.  102.

Q1.9: $B$G$b(B0 $B$h$j$O(BNULL $B$r;H$&$[$&$,!"(B NULL $B$NCM$,>-MhBe$o$k$3$H$r9M$((B
      $B$k$H!"(B $BFC$K%L%k%]%$%s%?$NFbItI=8=$,(B0 $B$G$J$$%^%7%s$K$D$$$F$OM%$l(B
      $B$F$$$k$N$G$O!#(B

A1.9: $B$$$d!"(B $B$?$7$+$K%^%/%m$r;H$C$F?t$r=q$/$Y$-$H$3$m$r5-9f$KCV$-49$((B
      $B$k$3$H$O(B $BCM$,>-MhJQ$o$k$+$b$7$l$J$$$+$i$h$/$d$k!#(B $B$1$l$I!"(B $B$3$l(B
      $B$O(BNULL $B$r(B0 $B$NBe$j$K(B $B;H$&M}M3$8$c$J$$!#(B $B$b$&0lEY@bL@$7$h$&!#(B C $B8@(B
      $B8l$O!"(B $B%=!<%9%3!<%I>e$N(B0 $B$,(B($B%](B $B%$%s%?$r;H$&>lLL$G$O(B) $B%L%k%]%$%s(B
      $B%?$r:n$j=P$9$3$H$rJ]>Z$7$F$$$k!#(B NULL $B$r(B $B;H$&$N$O!"(B $B%W%m%0%i%_%s(B
      $B%0$N=q$-J}$N7h$^$j$G$7$+$J$$!#(B

Q1.10: $B:.Mp$7$F$-$?!#(B NULL $B$O(B0 $B$H$J$k$3$H$,J]>Z$5$l$F$$$k!#(B $B$1$l$I%L%k(B 
       $B%]%$%s%?$O(B 0 $B$H$J$k$3$H$,J]>Z$5$l$$$J$+$C$?$s$8$c$"!D(B

A1.10: $B!V%L%k!W(B $B$H$+(B $B!V(BNULL$B!W(B $B$H$$$&C18l$,L5B$:n$K;H$o$l$k$H$-$O0J2<$N(B 
       $B$I$l$+$r0U(B $BL#$9$k!#(B

 1) $B35G0$H$7$F$N%L%k%]%$%s%?!#(B C $B8@8lFb$NCj>]E*$J35G0$G$"$C$F(B
    Q1.1 $B$GDj5A$7$?!#(B $B$3$l$O0J2<$N$h$&$K<BAu$5$l$F$$$k!#(B
 2) $B%L%k%]%$%s%?$NFbIt(B($B$"$k$$$O<B9T;~$N(B) $BI=8=!"(B 0 $B$G$O$J$$$+$b(B
    $B$7$l$J$$$7!"(B $B%]%$%s%?$N7?$K$h$C$FI=8=J}K!$,0[$J$k$+$b$7$l(B
    $B$J$$!#(B $B<B:]$NCM$O%3%s%Q%$%i$N:n@.<T$7$+4X?4$r;}$?$J$$$O$:(B
    $B$G$"$k!#(B C $B%W%m%0%i%`$r=q$/?M$O$=$s$J$b$N$r8+$J$$!#(B $B$J$<$J(B
    $B$iH`$i$,;H$&$N$O0J2<$N$b$N$G$"$k!#(B
 3) $B%L%k%]%$%s%?$N%=!<%9%3!<%I>e$NI=8=!"$3$l$O!V(B0$B!W$H$$$&J8;z(B
    $B$G$"$k!#$=$7$F$3$l$O$7$P$7$P!"(B $B0J2<$N%^%/%m$N8e$m$K1#$l$F(B
    $B$7$^$&!#(B
 4) NULL $B%^%/%m!"(B $B$3$l$O(B $B!V(B0$B!W(B $B$d(B $B!V(B(void *)0$B!W(B $B$H$7$FDj5A$5$l(B
    $B$F$$$k!#(B

       $B:G8e$K!"(B $B0J2<$N$b$N$O:.F1$7$d$9$$$,!"(B $BJL$N$b$N$G$"$k!#(B
 5) ASCII $B$N%L%k%-%c%i%/%?(B(NUL)$B!"(B $B$3$l$O$9$Y$F$N%S%C%H$,(B0 $B$G$"(B
    $B$k!#(B $B$?$@(B $B$7L>A0$,;w$F$$$k$3$H$r=|$$$F%L%k%]%$%s%?$H6&DLE@(B
    $B$O$J$$!#(B $B$3$NJ8;z$,(B C $B8@8l$G$OJ8;zNs$N=*N;$r$"$i$o$9$N$G!"(B 
    $B6u$NJ8;zNs$O0J2<$N$h$&$K8F$P(B $B$l$k!#(B
 6) $B!V%L%k%9%H%j%s%0!W!#(B $B$3$l$O6u$NJ8;zNs(B("") $B$+$i$J$k!#(B $B$3$N(B
    $B8F$S$+$?$r;H(B $B$&$H:.Mp$r>7$-$=$&$G$"$k(B($BHr$1$?$[$&$,$h$$(B)$B!#(B 
    $B$J$<$J$i%L%k%9%H%j%s%0(B $B$O%L%k(B('\0') $B%-%c%i%/%?$H4X78$,$"$k(B
    $B$,!"%L%k%]%$%s%?$K$O4X78$J$$!#%L(B $B%k%]%$%s%?$NOC$7$r$9$k$H(B
    1) $B$KLa$C$F35G0$NOC$K$J$k!#(B

       $B$3$N;qNA$G$O%L%k%]%$%s%?$H$$$&8@MU$r(B1) $B$N0UL#$G!"(B $B!V(B0$B!W(B $B$H$$$&(B
       $BJ8;z$r(B3) $B$N0UL#$G!"(B $B!V(BNULL$B!W(B $B$H$$$&8@MU$r(B4) $B$N0UL#$G;H$C$F$$$k!#(B

Q1.11: $B$J$<%L%k%]%$%s%?$K4X$9$k:.Mp$,B8:_$9$k$N$+!#(B $B$J$<$3$l$i$NLdBj$,(B
       $B$3$s$J$K2?EY$b=P$FMh$k$N$+!#(B

A1.11: C $B%W%m%0%i%^$O!"(B $B@N$+$i%^%7%s$N<BAu$K4X$7$FI,MW0J>e$KCN$j$?$,$k!#(B 
       $B%L%k%](B $B%$%s%?$,$?$$$F$$$N%^%7%s$G!"(B $B%=!<%9%3!<%I>e$bFbItI=8=>e(B
       $B$b(B0 $B$G$"$k$3$H$,!"(B
       $BJ]>Z$5$l$J$$2>Dj$r>7$$$F$$$k!#(B $B%^%/%m(B $B!V(BNULL$B!W(B $B$r;H$&$3$H(B
       $B$O$=$NCM$,>-MhJQ(B $B2=$9$k$+$b$7$l$J$$$3$H$d!"(B $BL/$J%^%7%s>e$G$O8=(B
       $B$K(B0 $B$G$J$$$3$H$r;X$7$F$$$k!#(B $B!V(Bif(p==0)$B!W(B $B$H=q$/$H!"(B $BHf3S$9$kA0(B
       $B$K(B0 $B$r%]%$%s%?7?$KJQ49$9$k$H$$$&$h$j$O!"(B p $B$r@0?t7?$KJQ49$9$k$3(B
       $B$H$rI,MW$H$9$k$H2r<a$5$l$,$A$G$"$k!#(B $B:G8e$K(B($B>e$G(B $B5-=R$7$?(B) $B!V%L(B
       $B%k!W(B $B$H$$$&8@MU$O!"(B $BJ8L.$K$h$C$F0[$J$k0UL#$r;}$D$N$K!"(B $B0c$$$r(B 
       $BBgL\$K8+$,$A$G$"$k!#(B

       $B:.Mp$rHr$1$k$h$$J}K!$O!"(B C $B8@8l$K$O%-!<%o!<%I$,$"$C$F(B(Pascal $B$N(B
       nil $B$N$h$&$J(B)$B!"(B $B$=$l$r;H$C$F%L%k%]%$%s%?$rMW5a$9$k$H9M$($k$3$H(B
       $B$G$"$k!#(B $B%3%s%Q%$%i$O%=!<%9%3!<%I$+$i7?$,7hDj$G$-$k$H$-$O!"(B 
       $B!H(Bnil$B!I$r@5$7$$7?$N%L%k%]%$%s%?$KJQ49$9$k$3$H$,$G$-$k$7!"(B $B$G$-(B
       $B$J$$$H$-$O6l>p$r=P$9!#(B $B<B:]$K$O%L%k%]%$%s%?$N(BC $B8@8l$N%-!<%o!<%I(B
       $B$O!H(Bnil$B!I$G$O$J$/(B $B!V(B0$B!W(B $B$G$"$k!#(B 0 $B$O!H(Bnil$B!I$HF1$8F/$-$r$9$k!#(B 
       $B0c$$$O!"(B $B%-%c%9%H$5$l$F$$$J$$(B0 $B$K$O%(%i!<%a%C%;!<%8$r=P$9Be$j$K(B
       $B@0?t$N(B0 $B$r:n$j=P$9$3$H$G$"$k!#(B $B%-%c%9%H$5$l$F$$$J$$(B0 $B$r%L%k%]%$(B
       $B%s%?$N$D$b$j$G;H$&$H!"(B $B$=$N%3!<%I$O$&$^$/F0$+$J$$$+$b$7$l$J$$!#(B

Q1.12: $B$^$@:.Mp$7$F$$$k!#(B $B$3$N%L%k%]%$%s%?$K4X$9$k$4$?$4$?$,M}2r$G$-$J(B
       $B$$!#(B

A1.12: $B0J2<$NFs$D$N4JC1$J%k!<%k$K=>$(!#(B

         (a) $B%=!<%9%3!<%IFb$G%L%k%]%$%s%?$r;H$&$H$-$O!"(B $B!V(B0$B!W(B $B$+(B 
             $B!V(BNULL$B!W(B $B$r;H$(!#(B
         (b) $B!V(B0$B!W(B $B$d(B $B!V(BNULL$B!W(B $B$r4X?t$N0z?t$K;H$&$H$-$O!"(B $B5/F0$9$k4X?t(B
             $B$,A[Dj$7$F$$$k%]%$%s%?7?$K%-%c%9%H$7$m!#(B

       $B0J2<$N5DO@$O!"(B $B$"$k<o$N8m2r$KEz$($k$b$N$+!"(B $B%L%k%]%$%s%?$N(B
       $BFbItI=8=$K4X$9(B $B$k$b$N$+(B($B$3$l$OCN$i$J$/$F$h$$$b$N$@(B)$B!"(B ANSI C $B$G(B
       $B$N2~NIE@$K4X$9$k$3$H$G(B $B$"$k!#(B Q1.1$B!"(B Q1.2$B!"(B Q1.3 $B$rM}2r$7$F(BQ1.8$B!"(B 
       Q1.11 $B$K$D$$$F8!F$$9$l$P!"(B $B$&$^$/$d$C$F$$$1$k!#(B

Q1.13: $B%L%k%]%$%s%?$r<h$j4,$/$3$l$i$N:.Mp$r9M$($l$P!"(B $BC1=c$K%L%k%]%$%s(B
       $B%?$OFbItE*$K(B0 $B$GI=8=$9$k$H7h$a$F$7$^$C$?$[$&$,4JC1$J$N$G$O!#(B

A1.13: $BB>$K<h$jN)$F$FM}M3$,$J$1$l$P!"(B $B$=$&$9$k$3$H$OK>$^$7$/$J$$!#(B $B$J(B
       $B$<$J$i!"(B $B$=$&$9$k$3$H$O%L%k%]%$%s%?$N<BAu$KI,MW0J>e$N94B+$rM?$((B
       $B$k$3$H$K$J$k!#(B $BNc$($P!"(B $B%L%k%]%$%s%?$X$NITEv%"%/%;%9$r%O!<%I%&%'(B
       $B%"$GJa$^$($k;EAH$_$K$J$C$F$$$k$H!"(B $B%L%k%]%$%s%?$r(B0 $B0J30$NFCJL$J(B
       $B%S%C%H%Q%?!<%s$GI=8=$9$k$[$&$,!"(B $B$`$7$m<+A3$G$"$k!"(B

       $B$=$N$&$(!"$3$N$h$&$J<h$j7h$a$,2?$r$b$?$i$9$N$+!#%L%k%]%$%s%?$r(B
       $BM}2r$9$k$3$H$O!"$=$NFbItI=8=$,(B0 $B$G$"$k$+$I$&$+$NM}2r$rI,MW$H$7(B
       $B$J$$!#%L%k%]%$%s%?$NFbItI=8=$,(B0 $B$G$"$k$H2>Dj$7$F$b!"(B $B%3!<%I$O>/(B
       $B$7$b=q$-$d$9$/$J$i$J$$(B(Q3.13$B$G=R$Y$k!"(B $B$"$^$j$*A&$a$7$?$/$J$$(B
       calloc $B$N;H$$J}$r=|$/(B)$B!#(B $B%]%$%s%?$NFbItI=8=$,(B0 $B$G$"$k$3$H$rJ]>Z(B
       $B$7$?$H$7$F$b!"(B $B4X?t$N0z?tFb$G$N%-%c%9%H$,ITMW$K(B
       $B$J$k$o$1$G$O$J$$!#(B $B$J$<$J$i%]%$%s%?$NBg$-$5$O!"(B int $B$NBg$-$5$H(B
       $B0c$&$+$b$7$l$J$$(B($B$b$7%L%k%]%$%s%?$r;H$&$H$-$K(B0 $B$NBe$j$K(BQ1.11 $B$G(B
       $B=R$Y$?!H(Bnil$B!I$rBe$j$K;H$&$3$H$K$J$C$?$J$i!"(B $BFbItI=8=$K$D$$$F2>(B
       $BDj$9$kI,MW$5$($J$$(B)$B!#(B

Q1.14: $B%L%k%]%$%s%?$K(B0 $B0J30$NCM$r;HMQ$9$k%^%7%s$d!"(B $B0[$J$k7?$N%]%$%s%?(B
       $B$K0[$J$kFbIt7A<0$r;}$D%^%7%s$OK\Ev$KB8:_$9$k$N$+!#(B

A1.14: Prime50 $B%7%j!<%:$O$9$/$J$/$H$b(BPL/I $B$G$O!"(B $B%;%0%a%s%H(B07777 $B!&%*(B
       $B%U%;%C%H(B0$B$r%L%k%]%$%s%?$NFbItI=8=$H$7$F;H$C$F$$$?!#(B $B8e$N%b%G%k(B
       $B$O%;%0%a%s%H(B0 $B!&%*%U%;%C%H(B0 $B$r(BC $B$N%L%k%]%$%s%?$K;H$C$?!#(B $B$3$N$?(B
       $B$a$K(B TCNP(Test C NULL Pointer) $B$N$h$&$J?7$7$$L?Na$,!"(B $B$=$l$^$G(B
       $B$K8m$C$?2>Dj$r$7$F=q$+$l$?%X%^$J(BC $B%W%m%0%i%`$r5_:Q$9$k$?$a$KI,(B
       $BMW$H$J$C$?!#(B $B$b$C$H8E$$(B($B%P%$%H%"%I%l%9$G$O$J$/(B) $B%o!<%I%"%I%l%9(B
       $BJ}<0$N(BPrime $B$N%^%7%s$O!"(B $B%o!<%I%]%$%s%?(B(int *) $B$h$j$b%P%$%H%]%$(B
       $B%s%?(B(char *) $B$N$[$&$,Bg$-$$$3$H$G0-L>9b$+$C$?!#(B

       Data General $B$N(BEclipse MV $B%7%j!<%:$K$O!"(B $B%"!<%-%F%/%A%c$,%5%]!<(B
       $B%H$9$k(B3$B$D$N%]%$%s%?$N%U%)!<%^%C%H(B(word $B$H(Bbyte $B$H(Bbit) $B$,B8:_$7$?!#(B 
       $B$3$N$&$AFs$D$O(BC $B%3%s%Q%$%i$K$h$C$F;H$o$l$k!#(B byte $B%]%$%s%?$O(B
       char *$B$H(Bvoid *$B$K!"(B word$B%]%$%s%?$O$[$+$N$9$Y$F$N%]%$%s%?7?$K;H$o(B
       $B$l$F$$$k!#(B

       Honeywell-Bull $B$N%a%$%s%U%l!<%`$NCf$K$O!"(B $B%S%C%H%Q%?!<%s(B0600 $B$r(B
       ($BFbIt$N(B)$B%L%k%]%$%s%?$H$7$F;H$C$F$$$k$b$N$b$"$k!#(BCDC $B<R$N(BCyber
       180 $B%7%j!<%:$O%j%s%0!&%;%0%a%s%H!&%*%U%;%C%H$+$i$J$k(B48$B%S%C%H$N(B
       $B%]%$%s%?$r;}$C$F$$$?!#(B $BB?$/$N%f!<%6!<(B($B%j%s%0(B11 $B$GAv$k(B) $B$O%L%k%](B
       $B%$%s%?$H$7$F(B0xB00000000000 $B$r;H$&!#(B

       $B%7%s%\%j%C%/%9<R$N(BLISP $B%^%7%s$O!"(B $B%?%0IU$-%"!<%-%F%/%A%c$J$N$G!"(B 
       $B$=$b$=$b%]%$%s%?$r?tCM$GI=$9$H$$$&35G0$5$(;}$?$J$$!#(B <NIL,0>($B4J(B
       $BC1$K$$$&$H!"(B $BB8:_$7$J$$(B<object,offset>$B$N%O%s%I%k(B) $B$r(BC $B$N%]%$%s(B
       $B%?$H$7$F;H$C$F$$$k!#(B

       80*86 $B%W%m%;%C%5$O(B(IBM-PC $B$G$O(B) $B%a%b%j%b%G%k$K$h$C$F$O!"(B $B%G!<%?(B
       $B$K(B16 $B%S%C%H%]%$%s%?$r;H$$!"(B $B4X?t$K$O(B32 $B%S%C%H%]%$%s%?$r;H$&!#(B 
       $B$^$?5U$N$3$H$b$"$k!#(B

       $B8E$$(BHP 3000 $B%7%j!<%:$O%P%$%H%"%I%l%9$H%o!<%I%"%I%l%9$G0[$J$k%"(B
       $B%I%l%9;XDj$NJ}K!$r;H$C$F$$$?!#(B $B$@$+$iF1$8%"%I%l%9$r;X$7$F$$$F$b!"(B 
       void $B$H(Bchar $B$N%]%$%s%?$O!"(B int $B$N%]%$%s%?$H(B($B9=B$BN$J$I$N%]%$%s(B
       $B%?$H$b(B) $B0c$C$?FbItI=8=$r;}$C$F$$$?!#(B

Q1.15: $B<B9T;~$K=P$k(B $B!V(Bnull pointer assignment($B%L%k%]%$%s%?$K$h$kBeF~(B)$B!W(B 
       $B$H$$$&%(%i!<%a%C%;!<%8$O2?$r0UL#$9$k$N$+!#(B $B$I$&$d$C$FLdBj$r$?$0$C(B
       $B$F$$$1$P$h$$$+!#(B

A1.15: $B$3$N%a%C%;!<%8$O(BMS-DOS $B>e$G$7$+H/@8$7$J$$(B($B$h$C$F(B16 $B>O;2>H(B)$B!#(B $B%L(B
       $B%k%]%$%s%?$r;H$C$F(B0 $BHVCO$K=q$-9~$s$@$3$H$r0UL#$7$F$$$k!#(B

       $B%G%P%C%,!<$O!"(B $B$?$$$F$$(B0 $BHVCO$K%V%l!<%/%]%$%s%H$rD%$k$3$H$r5v$7(B
       $B$F$$$k!#$b$7$/$O(B0 $BHVCO$r@hF,$K(B20 $B%P%$%H$+$=$3$iJL$N%P%C%U%!$K%3(B
       $B%T!<$7$F!"(B $BCM$,JQ2=$7$F$$$J$$$3$H$r!"(B $B<~4|E*$K3N$+$a$k%3!<%I$r(B
       $B%A%g%$$H=q$1$P$h$$!#(B

2        $BG[Ns$H%]%$%s%?(B

Q2.1: $B$"$k%=!<%9%U%!%$%k$G(Bchar a[6] $B$HDj5A$7$F!"JL$N%U%!%$%k$G(Bextern
      char *a$B$H@k8@$7$?!"(B $B$J$<$3$l$O$&$^$/$$$+$J$$$N$+!#(B

A2.1: extern char *a $B$H$$$&@k8@$,!"(B $B<B:]$NDj5A$H?)$$0c$&$+$i$G$"$k!#(B 
      $B!V%?%$%W(BT$B$X$N%]%$%s%?!W(B $B$O(B $B!V%?%$%W(BT $B$NG[Ns!W(B $B$H$O0[$J$k!#(B 
      extern char a[] $B$r;H$(!#(B

      References:  [CT&P] Sec.  3.3 pp.  33-4, Sec.  4.5 pp.  64-5.

Q2.2: $B$G$b(Bchar a[] $B$O(Bchar *a $B$HF1$8$HJ9$$$?$3$H$,$"$k$,!#(B

A2.2: $BA4A3JL$N$b$N$G$"$k(B($B7/$,J9$$$?OC$H$$$&$N$O!"(B $B$-$C$H4X?t$N2>0z?t$N(B
      $BOC$@!#(BQ2.4 $B;2>H(B)$B!#(B $BG[Ns$O%]%$%s%?$H0c$&!#(B $BG[Ns$N@k8@(B $B!V(Bchar
      a[6];$B!W(B $B$O(B6 $BJ8;zJ,$NNN0h$r3NJ]$7$F!"(B $B$=$l$r(B $B!V(Ba$B!W(B $B$H$$$&L>A0$G<1(B
      $BJL$9$k$3$H$rMW5a$9$k!#(B $B$9$J$o$A(B $B!V(Ba$B!W(B $B$H$$$&L>A0$N>l=j$,$"$C$F!"(B 
      $B$=$3$K$O(B6 $BJ8;z$r<}$a$k$3$H$,$G$-$k!#(B $B$=$l$K$?$$$7$F%]%$%s%?$N@k(B
      $B8@(B $B!V(Bchar *p$B!W(B $B$O!"(B $B%]%$%s%?$r<}$a$k>l=j$rMW5a$9$k!#(B $B%]%$%s%?$O(Bp 
      $B$H$$$&L>A0$G<1JL$5$l!"(B $B$I$s$J(Bchar($B$"$k$$$OO"B3$7$?(Bchar$B$NNs(B) $B$r;X(B
      $B$9$3$H$b$G$-!"(B $B$=$N(Bchar $B$O$I$3$K$"$C$F$b9=$o$J$$!#Nc$K$h$C$F!"(B 
      $BI4J9$O0l8+$KG!$+$:$G$"$k!#(B $BJ8(B

      char  a[]  =  "hello";
      char  *p  =  "world";

      $B$O0J2<$N$h$&$KI=8=$G$-$k%G!<%?9=B$$r;}$D!#(B
  +---+---+---+---+---+---+
       a: | h | e | l | l | o |\0 |
  +---+---+---+---+---+---+
  +---+        +---+---+---+---+---+---+
       p: | *=======>  | w | o | r | l | d |\0 |
  +---+        +---+---+---+---+---+---+

      x[3] $B$N$h$&$JI=8=$+$i;:$_=P$5$l$k%3!<%I$,!"(B x $B$,%]%$%s%?$+G[Ns$+(B
      $B$G0c$&$N$@$HM}2r$9$k$3$H$OBg;v$J$3$H$G$"$k!#>e5-$N@k8@$rM?$($i$l(B
      $B$?$H$7$F!"(B $B%3%s%Q%$%i$O(Ba[3] $B$H$$$&<0$r8+$?$H$3$m$G(B

(1)    $B!V(Ba$B!W(B $B$N$H$3$m$K?J$_!"(B
(2)   $B$=$3$+$i(B3 $B$D?J$s$G!"(B
(3)   $B:G8e$KCM$r<h$j=P$9!"(B

      $B$H$$$&%3!<%I$r$O$-$@$9!#(B p[3] $B$H$$$&<0$r8+$k$H(B

(1)    $B!V(Bp$B!W(B $B$K?J$_!"(B
(2)   $B$=$3$KB8:_$9$k%]%$%s%?$NCM$r<h$j=P$7!"(B
(3)   $B%]%$%s%?$NCM$K(B3 $B$r2C$(!"(B
(4)   $B%]%$%s%?$,;X$9>l=j$+$iJ8;z$r<h$j=P$9!#(B

      $B$H$$$&%3!<%I$r$O$-$@$9!#(B $B>e$NNc$G$O(Ba[3]$B!"(B p[3] $B$O$?$^$?$^F1$8J8(B
      $B;z(B'l' $B$r;X$9$,%3%s%Q%$%i$O$=$3$K$?$I$jCe$/$N$KJL$NF;$r$?$I$k$N$G(B
      $B$"$k(B(Q17.19 $B$H(BQ17.20 $B$r;2>H$N$3$H(B)$B!#(B

Q2.3: C $B$G!H%]%$%s%?$HG[Ns$OF1Ey!I$H$$$&$N$O2?$r0UL#$7$F$$$k$N$+!#(B

A2.3: C $B$K$*$1$k%]%$%s%?$K4X$9$k:.Mp$NB?$/$O!"(B $B>e$NJ8$K$"$k$h$&$J8m2r(B
      $B$+$i$-$F$$$k!#(B $BG[Ns$H%]%$%s%?$,F1Ey$H$$$C$F$b!"(B $B$3$NFs$D$,$^$C$?(B
      $B$/F1$8$H$+8r492DG=$G$"$k$H$$$&$3$H$O0UL#$7$F$$$J$$!#(B

      $B!HF1Ey!I$H$$$&$N$O0J2<$NDj5A$r;X$7$F$$$k!#<0Cf$K8=$o$l$k7?(B $B!V(BT 
      $B$NG[Ns!W(B $B$H$$$&:8JUCM(B(Q2.5 $B;2>H(B) $B$O(B($B8e=R$9$k(B3 $B$D$NNc30$r=|$$$F(B)$B!"(B 
      $BG[Ns$N:G=i$NMWAG$r;X$9%]%$%s%?$K0UL#$,3J2<$2$K$J$k!#(B $B7k2L$H$7$F(B
      $B$G$-$k%]%$%s%?$N7?$O(B $B!V(BT $B$X$N%]%$%s%?!W(B $B$H$J$k!#(B(3 $B$D$NNc30$H$O!"(B 
      1) $BG[Ns$,(Bsizeof $B$N0z?t$H$J$k$H$-!"(B 2) $B%"%I%l%91i;;;R(B&$B$N0z?t$H$J(B
      $B$k$H$-!"(B 3)char $B7?$NG[Ns$rJ8;zNs$G=i4|CM$9$k$H$-$G$"$k!#(B )$B$3$NDj(B
      $B5A$K$h$j!"(B $B1i;;;R(B[] $B$rG[Ns$K;H$C$F$b!"(B $B%]%$%s%?$K;H$C$F$b$?$$$7(B
      $B$F0c$$$O$J$$!#(B a[i] $B$H=q$$$?$H$-!"(B $B>e$N%k!<%k$K$h$jG[Ns$N;2>H(B 
      $B!V(Ba$B!W(B $B$O%]%$%s%?$X$H@.$j2<$,$k!#(B $B$3$l$G%]%$%s%?JQ?t$KBP$7$F(Bp[i] 
      $B$H=q$/$N$HF1$8$3$H$K$J$C$F$7$^$C$?(B($B$?$@$7(BQ2.2 $B$G@bL@$7$?$h$&$K!"(B 
      $B%a%b%j$N%"%/%;%9$N$7$+$?$O0[$J$k$+$b$7$l$J$$(B)$B!#(B $B$I$A$i$N>l9g$b!"(B 
      $BDj5A$K$h$j!"(B (x $B$,G[Ns$G$"$C$F$b%]%$%s%?$G$"$C$F$b(B)x[i] $B$H=q$/$3(B
      $B$H$O!"(B *((x)+(i)) $B$H$^$C$?$/F1$8$G$"$k!#(B

      References: [K&R I] Sec.  5.3 pp.  93-6; [K&R II] Sec.  5.3 p.
      99; [H&S] Sec.  5.4.1 p.  93; [ANSI] Sec.  3.2.2.1, Sec.
      3.3.2.1, Sec.  3.3.6 .

Q2.4: $B$=$l$G$O$J$<4X?t$N2>0z?t$G$OG[Ns$H%]%$%s%?$N@k8@$,8r49$G$-$k$N$+!#(B

A2.4: $BG[Ns$O$9$0$K%]%$%s%?$K@.$j2<$,$k$N$G!"(B $BG[Ns$,<B:]$K4X?t$KEO$k$3(B
      $B$H$O$J$$!#G[Ns$N$h$&$K!H8+$($k!I%Q%i%a!<%?@k8@$O0J2<$KNc$r5s$2$k(B
      $B$h$&$K(B

      f(a)
      char  a[];

      $B$9$Y$F%3%s%Q%$%i$NET9g$,$$$$$h$&$K%]%$%s%?$H$7$F07$o$l$k!#(B $B$J$<(B
      $B$J$iG[Ns$,EO$5$l$?$H$-$K4X?t$,<B:]$K<u$1<h$k$N$O%]%$%s%?$G$"$k$+(B
      $B$i$G$"$k!#(B

      f(a)
      char  *a;

      $B$3$NJQ49$O!"(B $B4X?t$N2>0z?t$N%Q%i%a!<%?@k8@$G$N$_M-8z$G$"$k!#(B $B$3$N(B
      $BJQ49$,5$$K?)$o$J$$$J$i;H$o$J$1$l$P$h$$!#(B $B4X?t$N5/F0$d4X?tFb$G$N(B
      $B;HMQJ}K!$K@k8@$r;w$;$k$3$H$K$h$kMxE@$h$j$b!"(B $B$=$l$,0z$-5/$3$9:.(B
      $BMp$N$[$&$,Bg$-$$$H9M$($k?M$OB?$$!#(B

      References: [K&R I] Sec.  5.3 p.  95, Sec.  A10.1 p.  205; [K&R
      II] Sec.  5.3 p.  100, Sec.  A8.6.3 p.  218, Sec.  A10.1 p.
      226; [H&S] Sec.  5.4.3 p.  96; [ANSI] Sec.  3.5.4.3, Sec.
      3.7.1, [CT&P] Sec.  3.3 pp.  33-4.

Q2.5: $B$I$&$7$FG[Ns$OBeF~$G$-$J$$$N$K:8JUCM(B(lvalue) $B$J$N$+!#(B

A2.5: ANSI C $B5,3J$O(B $B!VJQ992DG=$J:8JUCM(B(modifiable lvalue)$B!W(B $B$rDj5A$7$F(B
      $B$$$k!#(B $B$=$NCf$KG[Ns$OF~$C$F$$$J$$!#(B

      References:  [ANSI] Sec.  3.2.2.1 p.  37.

Q2.6: $B$J$<%5%V%k!<%A%s$N0z?t$H$7$FEO$5$l$?G[Ns$NBg$-$5$r(Bsizeof $B$G$-(B
      $B$A$s$H7W;;$G$-$J$$$N$+!#(B

A2.6: sizeof $B$O!"(B $B%5%V%k!<%A%s$,<B:]$K<u$1<h$C$?%]%$%s%?%Q%i%a!<%?$N(B
      $BBg$-$5$rJV$9(B(Q2.4 $B;2>H(B)$B!#(B

Q2.7: $BG[Ns$H$ODj?t%]%$%s%?$K$9$.$J$$$H@bL@$7$F$/$l$k?M$,$$$?!#(B

A2.7: $B$=$l$O$A$g$C$H$b$N$4$H$rC1=c$K9M$($9$.$G$"$k!#(B $BG[Ns$NL>A0$O!"(B $BL>(B
      $BA0$K$OBeF~$G$-$J$$$H$$$&E@$G!HDj?t!I$G$"$k$,!"(B Q2.2 $B$N5DO@$H3($r(B
      $B8+$l$PG[Ns$,%]%$%s%?$G$J$$$3$H$O$O$C$-$j$9$k$@$m$&!#(B

Q2.8: $B<B:]!"(B $BG[Ns$H%]%$%s%?$N0c$$$O!#(B

A2.8: $BG[Ns$O<+F0E*$KNN0h$r3d$jEv$F$k!#(B $B$?$@$7JL$N>l=j$K0\$7$?$jBg$-$5(B
      $B$rJQ$($k$3$H$O$G$-$J$$!#(B $B%]%$%s%?$O3d$jEv$F$i$l$?NN0h(B($B$?$V$s(B
      malloc $B$r;H$C$F3NJ]$7$?NN0h(B) $B$r;X$9%"%I%l%9$rL@<(E*$KBeF~$7$J$1(B
      $B$l$P$J$i$J$$!#(B $B$=$N$+$o$j9%$-$J$h$&$KCM$rJQ$($k$3$H$,$G$-$k(B($B$9$J(B
      $B$o$AJL$N$b$N$r;X$9$3$H$,$G$-$k(B)$B!#$^$?%a%b%j%V%m%C%/$r;X$90J30$K(B
      $B$b?'!9$H;H$$F;$,$"$k!#(B $BB/$K$$$&G[Ns$H%]%$%s%?$,F1Ey(B(Q2.3 $B;2>H(B) 
      $B$K$h$j!"(B $BG[Ns$H%]%$%s%?$,F1$8$K8+$($k5!2q$,B?$$!#FC$K(Bmalloc $B$K$h(B
      $B$j3NJ]$7$?NN0h$r;X$9%]%$%s%?$,!"(B $B$7$P$7$PK\J*$NG[Ns$N$h$&$K(B($B<B:](B
      [] $B$r;H$C$F;2>H$9$k$3$H$,$G$-$k(B) $B07$o$l$k(B(Q2.14 $B$r;2>H$N$3$H!#(B
      Q17.20 $B$b;2>H$N$3$H(B)$B!#(B

Q2.9: 5["abcdef"] $B$H$$$&<0$r4^$s$@%8%g!<%/$N%3!<%I$r8+$?$3$H$,$"$k!#(B 
      $B$I$&$7$F$3$N<0$,(BC $B8@8l$GJ8K!>e@5$7$$$3$H$K$J$k$N$+!#(B

A2.9: $BG[Ns$NE:;z1i;;;R(B[] $B$NFs$D$N%*%Z%i%s%I$O8r492DG=$G!"(B Y[X] $B$H=q$$(B
      $B$F$b(BX[Y]$B$H=q$$$F$bF1$80UL#$K$J$k$H$$$&$N$r$4B8CN$J$$(B?  $B$3$N4qL/(B
      $B$J;v<B$O!"(B $BG[Ns$NE:;zIU$1$N%]%$%s%?$NDj5A$+$i$-$F$$$k!#(B $B$9$J$o$A!"(B 
      $B$I$A$i$+$,%]%$%s%?$rI=$9<0$G!"(B $B;D$j$,@0?t$G$"$k8B$j!"(B $B$I$s$J<0(Be 
      $B$H0l<!<0(Ba $B$K$D$$$F$b!"(B a[e] $B$O(B*((a)+(e)) $B$HF1$8$b$N$G$"$k$H$$$&(B
      $BDj5A$G$"$k!#$3$N$H$s$G$b$J$$8r492DG=@-$O!"(B $B$h$/(BC $B8@8l$K$D$$$F07(B
      $B$&J8>O$NCf$G!"(B $B8X$i$7$/;W$&$+$N$h$&$K5-=R$5$l$F$$$k$,(B $B!V9q:]Fq2r(B
      C $B%W%m%0%i%`%3%s%F%9%H!W(B $B0J30$G$OLr$KN)$?$J$$(B(Q17.13 $B;2>H(B)$B!#(B

      References:  [ANSI] Rationale Sec.  3.3.2.1 p.  41.

Q2.10: $B;d$,;H$C$F$$$k%3%s%Q%$%i$O!"(B $B%]%$%s%?$X$N%]%$%s%?$r;H$&$Y$-$H$3(B 
      $B$m$G(B2 $B<!(B $B85G[Ns$r;H$&$HITK~$r$$$&!#(B

A2.10: $BG[Ns$,%]%$%s%?$K@.$j2<$,$k$H$$$&%k!<%k$O!"(B $B:F5"E*$K$O@.$jN)$?$J(B
      $B$$!#(B $BG[Ns(B $B$NG[Ns(B($BNc$($P(BC $B8@8l$K$*$1$k(B2 $B<!85G[Ns(B) $B$O!"(B $BG[Ns$X$N%](B
      $B%$%s%?$K@.$j2<$,(B $B$k$N$G$"$C$F!"(B $B%]%$%s%?$X$N%]%$%s%?$K@.$j2<$,$k(B
      $B$o$1$G$O$J$$!#(B $BG[Ns$X$N%](B $B%$%s%?$O!"(B $B:.Mp$r>7$/$+$i!"(B $BCm0U$7$F07(B
      $B$o$J$1$l$P$J$i$J$$(B($B:.Mp$O!"(B $B$$$/$D(B $B$+$N%P!<%8%g%s$N(Bpcc $B$H!"(B $B$=$&(B
      $B$$$&(Bpcc $B$+$iGI@8$7$?(Blint $B$,B?<!85G[Ns$rB?CJ(B $B$N%]%$%s%?$H$7$F<u$1(B
      $BIU$1$k$3$H$GA}D9$5$l$F$$$k(B)$B!#(B $B$b$7(B2 $B<!85G[Ns$r0J2<$N(B $B4X?t$KEO$9(B
      $B$H(B

      int  array[NROWS][NCOLUMNS];
      f(array);

      $B4X?t$N@k8@$O0J2<$N$I$A$i$+$G$J$$$H$$$1$J$$!#(B

      f(int  a[][NCOLUMS])  {...}

      $B$"$k$$$O(B

      f(int  (*ap)[NCOLUMS])  {...}    /*  ap $B$OG[Ns$X$N%]%$%s%?(B */

      $B:G=i$N@k8@$G$O!"(B $B%3%s%Q%$%i$,%Q%i%a!<%?$N(B $B!VG[Ns$NG[Ns!W(B $B$r(B 
      $B!VG[Ns$X$N%]%$%s%?!W(B $B$X0EL[$N=q$-49$($r9T$&!#(B 2 $B$DL\$NDj5A$G$O!"(B 
      $B%]%$%s%?$NDj5A$OL@<(E*(B $B$G$"$k!#(B $B8F$P$l$kB&$N4X?t$OG[Ns$NBg$-$5J,(B
      $B$NNN0h$r<h$k$o$1$G$O$J$$$N$G!"(B $BG[NsA4BN$NBg$-$5$rCN$kI,MW$O$J$$!#(B 
      $BNs$N?t(B $B!V(BNROWS$B!W(B $B$O>JN,$9$k$3$H$,$G$-(B $B$k!#(B $BG[Ns$N!H7A!I$OBg;v$G(B
      $B$"$k$+$i9T$N?t(B $B!V(BNCOLUMS$B!W(B $B$r(B(3 $B<!850J>e$NG[Ns$N(B

      $B>l9g$O:G=i$N<!85$r=|$/$9$Y$F$N<!85$NBg$-$5$r4^$a$F(B) $B;XDj$7$J$1(B
      $B$l$P$J$i(B $B$J$$!#(B $B$b$7%]%$%s%?$X$N%]%$%s%?$r<u$1IU$1$k$H4X?t$,@k8@(B
      $B$7$F$$$k$H$-$K$O!"(B $BD>@\(B 2 $B<!85G[Ns$rEO$9$3$H$OB?J,8m$j$G$"$k!#(B

       References:  [K&R I] Sec.  5.10 p.  110; [K&R II] Sec.  5.9 p.  113.

Q2.11: $B%3%s%Q%$%k;~$K!HI}!I$,L$Dj$N(B2 $B<!85G[Ns$r0z?t$H$9$k4X?t$O$I$&$d$C(B
       $B$F=q$1$P$h$$$+!#(B

A2.11: $B$3$l$O7k9=Fq$7$$!#(B $B0l$D$O(B[0][0]$BMWAG$X$N%]%$%s%?$r!"(B 2$B$D$N<!85(B
       $B$N$=$l$>$l$NBg$-$5$H0l=o$KEO$7$FG[Ns$NE:;zIU$1$r!H<j$G!I??;w$k(B
       $BJ}K!$G$"$k!#(B

       f2(aryp,  nrown,  ncolumns)
       int  *aryp;
       int  nrows,  ncolumns;
       { ... ary[i][j]  $B$O<B:]$K$O(Baryp[i  *  ncolumns  +  j]  ...  }

       $B$3$N4X?t$O(BQ2.10 $B$NG[Ns$r;H$C$F0J2<$N$h$&$K8F$V$3$H$b$G$-$k!#(B

       f2(&array[0][0],  NROWS,  NCOLUMNS);

       $B$7$+$7$J$,$i$3$N$h$&$JJ}K!$K$h$C$F!H?M$N<j$G!IB?<!85$NG[Ns$NE:(B
       $B;zIU$1$r$9$k%W%m%0%i%`$O(BANSI C $B5,3J$K87L)$K$O=>$C$F$$$J$$$3$H$K(B
       $BCm0U$9$k$3$H!#(Bx > NCOLUMNS $B$N>l9g$K(B(&array[0][0])[x] $B$K%"%/%;%9(B
       $B$7$?$H$-$NF0:n$ODj5A$5$l$F$$$J$$!#(B

       gcc $B$r;H$($P!"(B $B4X?t$N0z?t$r;H$C$F%m!<%+%k$NG[Ns$,$"$kBg$-$5$r;}(B
       $B$D$H@k8@$9$k$3$H$,$G$-$k!#(B $B$7$+$7$3$l$OI8=`$G$O$J$$3HD%5!G=$G$"(B
       $B$k!#(BQ2.15 $B$b;2>H$N$3$H!#(B

Q2.12: $BG[Ns$X$N%]%$%s%?$r$I$&$d$C$F@k8@$9$k$N$+!#(B

A2.12: $B$?$$$F$$$O!"G[Ns$X$N%]%$%s%?$r@k8@$7$?$$$N$G$O$J$$!#$J$K$2$J(B
       $B$/G[Ns$X$N%]%$%s%?$H$$$&$H$-$O!"(B $B$?$$$F$$G[Ns$N:G=i$NMWAG$X$N%](B
       $B%$%s%?$N$3$H$r$$$C$F$$$k$N$G$"$k!#(B

       $BG[Ns$X$N%]%$%s%?$G$O$J$/!"(B $BG[Ns$NMWAG$X$N%]%$%s%?$r;H$&$3$H$r9M(B
       $B$($k$3$H!#7?(BT $B$NG[Ns$O7?(BT $B$X$N%]%$%s%?$K@.$j2<$,$k(B(Q2.3 $B$r;2>H(B)$B!#(B 
       $B$3$l$OET9g$,$h$$!#(B $B$J$<$J$i7k2L$H$7$F$G$-$k%]%$%s%?$r;H$C$FE:;z(B
       $B$D$-$G;2>H$7$?$j!"(B $B@0?t$r2C$($k$3$H$GG[Ns$N3FMWAG$K%"%/%;%9$7$?(B
       $B$j$G$-$k!#(B $B$3$l$KBP$7$F!"(B $BK\Ev$NG[Ns$X$N%]%$%s%?$O!"(B $BE:;z$D$-$G(B
       $B;2>H$7$?$j@0?t$r2C$($k$H!"(B $BG[NsA4BN$rHt$S(B
       $B1[$7$F$7$^$&!#(B $B$3$l$G$O$;$$$<$$G[Ns$NG[Ns$r07$&$H$-$K$7$+LrN)$?(B
       $B$J$$(B($B>e$N(BQ2.10 $B$r;2>H(B)$B!#(B

       $BK\Ev$KG[Ns$=$N$b$N$X$N%]%$%s%?$,I,MW$J>l9g$O(B $B!V(Bint (*ap)[N];$B!W(B 
       $B$N$h$&$JI=8=$r;H$&!#(B $B$3$3$G(BN $B$OG[Ns$N%5%$%:$rI=$9(B(Q10.4 $B$r;2>H(B)$B!#(B 
       $BG[Ns$NBg$-$5$,$o$+$i$J$$>l9g!"(B N $B$r>JN,$9$k$3$H$,$G$-$k!#(B $B$7$+(B
       $B$77k2L$H$7$FF@$i$l$k(B $B!VBg$-$5$,L$CN$NG[Ns$X$N%]%$%s%?!W(B $B$OLr$K(B
       $BN)$?$J$$!#(B

Q2.13: $BG[Ns$r;2>H$9$k$3$H$O%]%$%s%?$K@.$j2<$,$k$3$H$r9M$($l$P!"(B $B0J2<$N(B
       $B@k8@$r9M$($?$H$-$K!"(B

       int  array[NROWS][NCOLUMNS];

       array $B$H(B&array $B$N0c$$$O!#(B

A2.13: ANSI/ISO C $B$N85$G$O(B&array $B$O(B $B!V(BT $B$NG[Ns$X$N%]%$%s%?!W(B $B$r;:$_=P(B
       $B$9!#(B $B$3$l$OG[NsA4BN$r;X$9(B(Q2.12 $B$b;2>H$N$3$H(B)$B!#(B ANCI C $B$,CB@8$9(B
       $B$kA0$O!"(B array $B$NA0$K(B&$B$rIU$1$k$3$H$O!"(B $B$?$$$F$$7Y9p$r0z$-5/$3$7!"(B 
       $B$?$$$F$$L5;k$5$l$?!#(B $B$9$Y$F$N(BC $B%3%s%Q%$%i$GG[Ns$X$N%-%c%9%H$N$J(B
       $B$$;2>H$O%]%$%s%?$r;:$_=P$9!#(B $B$3$N%]%$%s%?$O(BT $B$X$N%]%$%s%?$GG[Ns(B
       $B$N:G=i$NMWAG$r;X$9(B(Q2.3 $B$b;2>H$N$3$H(B)$B!#(B

Q2.14: $BB?<!85$NG[Ns$rF0E*$K3d$jIU$1$k$N$O$I$&$7$?$i$h$$$+(B

A2.14: $B$?$$$F$$%]%$%s%?$NG[Ns$r3d$jIU$1$F!"(B $B$=$l$>$l$N%]%$%s%?$rF0E*$K(B
       $B3d$jIU$1$?!HNs!I$K=i4|2=$9$k$N$,0lHV$N2r7h:v$G$"$k!#0J2<$K(B2 $B<!(B
       $B85G[Ns$NNc$r5s$2$k!#(B

       int  **array1  =  (int  **)malloc(nrows  *  sizeof(int  *));
       for  (i  =  0;  i  <  nrows;  i++)
      array1[i]  =  (int  *)malloc(ncolumns  *  sizeof(int));

       $B$b$A$m$s!HK\J*$N!I%3!<%I$G$O(Bmalloc $B$O@5$7$/@k8@$7$J$1$l$P$$$1$J(B
       $B$$$7!"(B $B3FLa$jCM$N%A%'%C%/$bI,MW$G$"$k!#(B

       $BG[Ns$NCf?H$r%a%b%j>eO"B3$K$9$k$3$H$b$G$-$k!#$?$@$7$3$&$9$k$H!"(B 
       $B8e$G0l$D0l$D$NNs$r:F3d$jIU$1$9$k$N$,LLE]$K$J$k!#0J2<$N$h$&$J!"(B 
       $BL@<(E*$J!"$A$g$C$H$7$?%]%$%s%?7W;;$,I,MW$H$J$k!#(B

       int  **array2  =  (int  **)malloc(nrows  *  sizeof(int  *));
       array2[0]  =  (int  *)malloc(nrows  *  ncolumns  *  sizeof(int));
       for  (i  =  0;  i  <  nrows;  i++)
      array2[i]  =  array2[0]  +  i  *  ncolumns;

       $B$I$A$i$rA*Br$7$F$b!"(B $BF0E*$K3d$jIU$1$?G[Ns$N3FMWAG$OIaDL$NG[Ns$N(B
       $B$h$&$KE:$(;z$G%"%/%;%9$G$-$k!#(B
 
       $B$b$7>e$N$h$&$JFs=E4V@\%"%/%;%9J}K!$,$J$s$i$+$NM}M3$G<u$1F~$l$i(B
       $B$l$J$$$J$i!"(B $B0l$D$NF0E*G[CV$N(B1 $B<!85G[Ns$G(B2 $B<!85G[Ns$r%7%_%e%l!<(B
       $B%H$9$k$3$H$,$G$-$k!#(B

       int  *array3  =  (int  *)malloc(nrows  *  ncolumns  *  sizeof(int));

       $B$7$+$7E:;z$N7W;;$r<+J,$G9T$o$J$1$l$P$J$i$J$$!"(B $B$9$J$o$A(Bi,j $BHVL\(B
       $B$NMWAG$X$N%"%/%;%9$O(Barray3[i * ncolumns + j] $B$H$7$J$1$l$P$J$i$J(B
       $B$$(B($B%^%/%m$r;H$($PL@<(E*$J7W;;$r1#$9$3$H$,$G$-$k!#(B $B$7$+$7%^%/%m(B
       $B$r;H$($P$+$C$3$d%3%s%^$r;H$&I,MW$,$"$k$N$GB?<!85G[Ns$X$N%"%/%;(B
       $B%9$N$h$&$K$O8+$($J$/$J$k(B)$B!#:G8e$KG[Ns$X$N%]%$%s%?$r;H$&J}K!$r>R(B
       $B2p$9$k!#(B

       int  (*array4)[NCOLUMNS]  =
       (int  (*)[NCOLUMNS])malloc(nrows  *  sizeof(*array4));

       $B$1$l$I!"(B $B$3$N9=J8$OFI$`?M$K62I]46$rM?$($k$7!"(B $B%3%s%Q%$%k;~$K0l(B
       $B$D$N<!85$r=|$/$9$Y$F$N<!85$,3NDj$7$F$$$J$1$l$P$J$i$J$$!#(B $B$I$NJ}(B
       $BK!$r$H$k$K$7$F$b!"I,MW$,$J$/$J$C$?$iG[Ns$r2rJ|$9$k$3$H$r!"(B $B21$((B
       $B$F$*$+$J$1$l$P$J$i$J$$(B($B$=$l$O!"(B $B2?CJ$+$N<jB3$-$rF'$^$J$1$l$P$J(B
       $B$i$J$$$+$b$7$l$J$$(B)$B!#(B $B$^$?G[Ns$rF0E*$K3d$jIU$1$FB>$N4X?t$KEO$9(B
       $B:]$K!"(B $BEO$9@h$N4X?t$,!"(B $B@EE*$K3d$jIU$1$?IaDL$NG[Ns$b0z?t$H$7$F(B
       $B<u$1$H$k>l9g$OFC$KCm0U$,I,MW$G$"$k(B($B2<$N(BQ2.15 $B;2>H$N$3$H!#(B $B$^$?(B
       Q2.10 $B$b;2>H$N$3$H(B)$B!#(B

Q2.15: $B4X?t$N0z?t$H$7$FG[Ns$rEO$9$H$-$K!"(B $B@EE*$K3NJ]$5$l$?G[Ns$bF0E*$K(B
       $B3NJ]$5$l$?G[Ns$b<u$1IU$1$k$h$&$K$9$k$K$O$I$&$7$?$i$h$$$+!#(B

A2.15: $BM#0l$N40A4$J2r$H$$$&$N$OB8:_$7$J$$!#(B $B0J2<$N@k8@$,$"$C$F!"(B

       int  array[NROWS][NCOLUMNS];
       int  **array1;
       int  **array2;
       int  *array3;
       int  (*array4)[NCOLUMNS];

       Q2.10 $B$H(BQ2.14 $B$HF1$8$K=i4|2=$9$k$H$9$k!#(B $B$^$?4X?t$r0J2<$N$h$&$K(B
       $B@k8@$9$k!#(B

       f1(int  a[][NCOLUMNS],  int  m,  int  n);
       f2(int  *aryp,  int  nrows,  int  ncolumns);
       f3(int  **pp,  int  m,  int  n);

       (Q2.10 $B$H(BQ2.11 $B$r;2>H$N$3$H(B) $B0J2<$NNc$O;W$C$?$H$*$j$KF0$/!#(B

       f1(array,  NROWS,  NCOLUMNS);
       f1(array4,  nrows,  NCOLUMNS);
       f2(&array[0][0],  NROWS,  NCOLUMNS);
       f2(*array2,  nrows,  ncolumns);
       f2(array3,  nrows,  ncolumns);
       f2(*array4,  nrows,  NCOLUMNS);
       f3(array1,  nrows,  ncolumns);
       f3(array2,  nrows,  ncolumns);

       $B0J2<$N(B2 $B$D$NNc$bB?J,$&$^$/$$$/!#(B $B$?$@$72x$7$$%-%c%9%H$,4^$^$l$F(B
       $B$$$k$7!"F0E*$K3d$jEv$F$?(Bncolumns $B$,@EE*$K3d$jEv$F$?(BNCOLUMNS $B$H(B
       $B0lCW$9$k$H$-$7$+$&$^$/F0$+$J$$!#(B

       f1((int  (*)[NCOLUMNS])(*array2),  nrows,  ncolumns);
       f1((int  (*)[NCOLUMNS])array3,  nrows,  ncolumns);

       &array[0][0] $B$r(Bf2 $B$KEO$9$N$O87L)$K$O5,3J$K=`5r$7$F$$$J$$$3$H$K(B
       $BCm0U$9$k$3$H!#(B Q2.11 $B$r;2>H!#(B

       $B$b$7$J$<>e5-$N4X?t8F$S=P$7$,$9$Y$F$&$^$/$$$/$+$H$$$&$3$H$H!"(B $B$J(B
       $B$<>e5-$N$h$&$K5-=R$5$l$?$+$,$o$+$C$F$$$F!"(B $B$3$3$G1L$l$F$$$kAH$_(B
       $B9g$o$;$,$J$<$&$^$/$$$+$J$$$+$b$o$+$C$F$$$k$N$J$i!"(B C $B8@8l$NG[Ns(B
       $B$H%]%$%s%?$K$D$$$F$NCN<1$O(B($B$[$+$NJ,Ln$NCN<1$b(B) $B7k9=$$$$@~$$$C$F(B
       $B$$$k$H;W$C$F$$$$$@$m$&!#(B

Q2.16: $B$[$i$3$N%H%j%C%/!#(B $B2<$N$h$&$K=q$1$P(B

       int  realarray[10];
       int  *array  =  &realarray[-1];

       $B!H(Barray$B!I$O(B1 $B%9%?!<%H$NG[Ns$N$h$&$K;H$($k!#(B

A2.16: $B$3$N%F%/%K%C%/$OL%NOE*$@$,(B(NUMERICAL RECIPES IN C $B$N8E$$HG$G$b(B
       $B;H$o$l$F$$$k(B)$B!"(B $B87L)$K$$$($P(BC $B8@8l$N5,3J$K=>$C$F$$$J$$!#(B $B%]%$%s(B
       $B%?1i;;$O!"(B $B0lEY$K3d$j?6$i$l$?NN0h$H2>A[E*$J!H=*C<!I$r1[$($?(B1 $B$D(B
       $B$a$NMWAG$K$@$1Dj5A$5$l$F$$$F!"(B $B$=$l0J30$G$OL$Dj5A$G$"$k!#(B $B$3$N(B
       $B$3$H$O!"(B $B$?$H$(%]%$%s%?$r;2>H$K;H$C$F$$$J$$$H$7$F$b$"$F$O$^$k!#(B 
       $B>e$N%3!<%I$O%*%U%;%C%H$r0z$$$?;~$K!"(B $B$H$s$G$b$J$$%"%I%l%9$r:n$j(B
       $B=P$7$F(B($B$?$V$s%"%I%l%9$,(B $B!V$0$k$C$H2s$C$F!W(B $B%a%b%j%;%0%a%s%H$N@h(B
       $BF,$r1[$($FB>$N%;%0%a%s%H$H=E$J$k$+$i$@$m$&(B) $B$&$^$/$$$+$J$/$J$k(B
       $B2DG=@-$,$"$k!#(B

       References: [ANSI] Sec.  3.3.6 p.  48, Rationale Sec.  3.2.2.3
       p.  38; [K&R II] Sec.  5.3 p.  100, Sec.  5.4 pp.  102-3, Sec.
       A7.7 pp.  205-6.

Q2.17: $B%]%$%s%?$r4X?t$KEO$7$F!"(B $B$=$N4X?t$NCf$G%]%$%s%?$N=i4|2=$r9T$&$3(B
       $B$H$K$7$?!#(B

       main()
       {
       ...
      int  *ip;
      f(ip);
       ...
       }

       void  f(ip)
       int  *ip;
       {
      static  int  dummy  =  5;
      ip  =  &dummy;
       }

       $B$1$l$I!"(B $B8F$s$@B&$N%]%$%s%?$NCM$OJQ$o$i$J$+$C$?!#(B

A2.17: $B4X?t$O%]%$%s%?$r=i4|2=$7$h$&$H$7$F$$$k$N$+!"(B $B$=$l$H$b%]%$%s%?$,(B
       $B;X$9@h$r=i4|2=$7$h$&$H$7$F$$$k$N$+(B?  C $B8@8l$N0z?t$OCMEO$7$G$"$k(B
       $B$3$H$r$*K:$l$J$/!#8F$P$l$?B&$N4X?t$O!"(B $B%]%$%s%?$N%3%T!<$rJQ99$9(B
       $B$k$@$1$G$"$k!#(B $B$*K>$_$N7k2L$rF@$k$K$O!"(B $B%]%$%s%?$N%"%I%l%9$rEO(B
       $B$9$+(B($B4X?t$O%]%$%s%?$X$N%]%$%s%?$r<u$1$H$k$3$H$K$J$k(B)$B!"(B $B4X?t$,%](B
       $B%$%s%?$rJV$9$h$&$K$9$k!#(B

Q2.18: char $B$N%]%$%s%?$,$"$C$F!"(B $B$=$N%]%$%s%?$,$?$^$?$^(B($BO"B3$9$k(B)int 
       $B$r;X$7$F$$$k!#(B int $B$N<!$X%]%$%s%?$r?J$a$?$$!#(B $B$J$<0J2<$N<0$G$O(B
       $B$&$^$/$$$+$J$$$N$+!#(B((int *)p)++

A2.18: C $B8@8l$G%-%c%9%H$O(B $B!V%S%C%H$,JL$N7?$r;}$C$F$$$k$U$j$r$7$F!"(B $B$=(B
       $B$&$$$&Iw$K07$C$F$d$m$&!W(B $B$H$$$&$3$H$r0UL#$7$F$$$J$$!#(B $B%-%c%9%H(B
       $B$OJQ491i;;;R$G$"$C$F!"$=$l$O1&JUCM$r@8$_$@$9$HDj5A$5$l$F$$$k!#(B 
       $B1&JUCM$G$"$k$H$9$k$J$i!"(B $BBeF~$9$k$3$H$b(B++$B$GB-$7;;$9$k$3$H$b$G$-(B
       $B$J$$$3$H$K$J$k(B(pcc $B$+$iGI@8$7$?%3%s%Q%$%i$d(Bgcc $B$N3HD%5!G=$,>e$N(B
       $B$h$&$J<0$r<u$1IU$1$k$3$H$ONc30$G$"$k(B)$B!#(B $BK>$_$I$*$j$N7k2L$rF@$k(B
       $B$K$O!"(B $B0J2<$N$h$&$K=q$+$J$1$l$P$J$i$J$$!#(B

       p  =  (char  *)((int  *)p  +  1);

       $B$"$k$$$OC1$K(B

       p  +=  sizeof(int);

       References:  [ANSI] Sec.  3.3.4, Rationale Sec.  3.3.2.4 p.  43.

Q2.19: $B;2>H8F$S=P$7$K;H$&$?$a$KHFMQ$N%]%$%s%?$r4X?t$KEO$7$?$$!#(B void**
       $B$r;H$&$3$H$,$G$-$k$+!#(B

A2.19: $B0\?"@-$^$G9M$l$PIT2DG=$G$"$k!#(B C $B8@8l$K$OHFMQ$N%]%$%s%?$X$N%]%$(B
       $B%s%?7?$OB8:_$7$J$$!#(B void *$B$,HFMQ$N%]%$%s%?$H$7$F?6$kIq$&$N$O!"(B 
       $BB>$N7?$N%]%$%s%?$r(Bvoid *$B$K@_Dj$7$?$j;2>H$9$k$H$-$K!"(B $B<+F0E*$KJQ(B
       $B49$,9T$o$l$k$+$i$G$"$k!#(Bvoid *$B0J30$N2?$+$r;X$7$F$$$k(Bvoid **$B$r;H$C(B
       $B$F4V@\;2>H$7$h$&$H$9$k$H!"(B $B$3$NJQ49$O<B9T$G$-$J$$(B($B1#$l$?@5$7$$(B
       $B%]%$%s%?$N7?$,$o$+$i$J$$(B)$B!#(B

3        $B5-21NN0h3d$jEv$F(B

Q3.1:     $B0J2<$N%W%m%0%i%`$NCGJR$O$J$<F0$+$J$$$N$+!#(B

          char  *answer;
          printf("$B$J$K$+F~NO$7$F$/$@$5$$!#(B :\n");
          gets(answer);
          printf("$B$"$J$?$O(B %s  $B$HF~NO$7$^$7$?(B\n",  answer);
_______________________________________________________________________
      $BLuCm(B: $BF|K\8l$NJ8;zNs$,$&$^$/DL$i$J$$(Bstdio $B$b$"$k!#$3$3$ON'5A$KJ8(B
      $B;zNs$^$GLu$7$?$H9M$($F$[$7$$(B :-)

A3.1: $B%]%$%s%?JQ?t(Banswer $B$O1~Ez$rCy$($k>l=j$H$7$F4X?t(Bgets $B$KEO$5$l$k$,!"(B 
      $B$=$N(B $B;~E@$G$O(Banswer $B$OM-8z$JNN0h$r;X$7$F$$$J$$!#(B $B$9$J$o$A%]%$%s(B
      $B%?(Banswer $B$O!"(B $B$I$3$r;X$7$F$$$k$N$+$o$+$i$J$$(B($B%m!<%+%k$JJQ?t$O=i(B
      $B4|2=$5$l$k$3$H$O$J$$(B $B$7!"(B $B$?$$$F$$%4%_$,F~$C$F$$$k!#(B answer $B$,%L(B
      $B%k%]%$%s%?$H$7$F;O$^$k$3$H$5$((B $BJ]>Z$5$l$F$$$J$$!#(B Q17.1 $B$r;2>H$N(B
      $B$3$H(B)$B!#(B $B<ALd$N%W%m%0%i%`$r=$@5$9$k0lHV$d$5$7$$J}K!$O!"(B $B%]%$%s%?(B
      $B$NBe$j$K%m!<%+%k(B $B$NG[Ns$r;H$C$F!"(B $B%3%s%Q%$%i$KNN0h$N3d$jEv$F$r$^(B
      $B$+$;$k$3$H$G$"$k!#(B

          #include  <string.h>
          char  answer[100],  *p;
          printf("$B$J$K$+F~NO$7$F$/$@$5$$!#(B :\n");
          fgets(answer,  sizeof(answer),  stdin);
          if  ((p  =  strchr(answer,  '\n'))  !=  NULL)
 *p  =  '\0';
          printf("$B$"$J$?$O(B %s  $B$HF~NO$7$^$7$?(B\n",  answer);

      $B$3$NNc$O(Bgets() $B$NBe$j$K(Bfgets() $B$r;H$C$F(B($B>o$K$h$$9M$($G$"$k!#(B 
      Q11.6 $B$r;2>H(B) $BG[Ns$NBg$-$5$r;XDj$9$k$3$H$r2DG=$K$7!"(B $B%f!<%6!<$,(B
      $BD9$9$.$k9T$rF~NO$7$F$bG[Ns$N=*$o$j$r>e=q$-$7$J$$$h$&$K$7$F$$$k$3(B
      $B$H$KCm0U(B($B;DG0$J$,$i$3$NNc$G$O(Bfgets() $B$O(Bgets() $B$H$O0c$C$F!"(B $B8e$m(B
      $B$N2~9T$r<+F0E*$K$O:o=|$7$J$$(B)$B!#(Bmalloc() $B$r;H$C$FJVEzMQ$N%P%C%U%!(B
      $B$r3d$jEv$F$k$3$H$b$G$-$k!#(B

Q3.2: strcat $B$,$&$^$/F0$+$J$$!#(B $B0J2<$N%W%m%0%i%`$r=q$$$?$i!"(B

      char  *s1  =  "Hello,  ";
      char  *s2  =  "world!";
      char  *s3  =  strcat(s1,  s2);

      $BJQ$JEz$($,JV$C$F$-$?!#(B

A3.2: $B$3$3$G$b!"(B $BO"7k$7$?7k2L$rCy$($kNN0h$,$&$^$/3NJ]$5$l$F$$$J$$!#(B C 
      $B8@8l$K$O!"(B $B<+F0E*$K4IM}$5$l$kJ8;zNs7?$O$J$$!#%=!<%9%3!<%I$GL@<((B
      $BE*$KI=$5$l$?%*%V%8%'(B $B%/%H$KNN0h$r3d$jEv$F$k$@$1$G$"$k(B($B!HJ8;zNs!I(B
      $B$K$D$$$F$O(Bchar $B$NG[Ns$H(B"$B$G$/(B $B$/$i$l$?J8;zNs$r4^$`(B)$B!#(B $B%W%m%0%i%^(B
      $B$O!"(B $BJ8;zNs$NO"7k$N$h$&$J<B9T;~$NA`:n$N(B $B7k2L$KBP$7$F==J,$JNN0h$r!"(B 
      $BG[Ns$rDj5A$7$?$j!"(B malloc $B$r8F$V$3$H$GL@<(E*(B $B$K3NJ]$7$J$1$l$P$J(B
      $B$i$J$$(B(Q17.20 $B$r;2>H$N$3$H(B)$B!#(B

      strcat $B$O!"(B $BNN0h$N3d$jEv$F$r9T$o$J$$!#(B $BFsHVL\$NJ8;zNs$O:G=i$NJ8(B
      $B;zNs$K!"(B $B$=(B $B$N>l$GO"7k$5$l$k!#(B $B0l$D$N2r7hJ}K!$O!"(B $B:G=i$NJ8;zNs$r(B
      $B==J,$JBg$-$5$r;}$DG[(B $BNs$H$7$F@k8@$9$k$3$H$G$"$k!#(B

          char  s1[20]  =  "Hello,  ";

          strcat $B$OBh0l0z?t$rJV$9$N$G(B($B$3$N>l9g$O(Bs1)$B!"(B s3 $B$OM>7W$G$"$k!#(B

          Reference:  [CT&P] Sec.  3.2 p.  32.

Q3.3: $B$1$l$I(Bstrcat $B$N(Bman $B$K$h$k$H!"(B strcat $B$O0z?t$H$7$FFs$D$N(Bchar $B$X$N(B
      $B%]%$%s(B $B%?$r<h$k$3$H$J$C$F$$$k!#(B $BNN0h$N3d$jEv$F$,I,MW$G$"$k$H$I$&(B
      $B$d$C$FCN$k$3$H(B $B$,$G$-$k$N$+!#(B

A3.3: $B0lHL$K%]%$%s%?$r;H$&$H$-$O!"(B $B$$$D$bNN0h$N3d$jEv$F$N$3$H$r9M$($F(B
      $B$*$+$J$1(B $B$l$P$J$i$J$$!#(B $B>/$J$/$H$b%3%s%Q%$%i$,Be$o$j$K$d$C$F$/$l(B
      $B$k$3$H$r3NG'$7$J(B $B$1$l$P$J$i$J$$!#%i%$%V%i%j$N%I%-%e%a%s%H$K5-21(B
      $BNN0h$N3d$jEv$F$K$D$$$F$O$C(B $B$-$j5-=R$7$F$$$J$1$l$P!"(B $B3d$jEv$F$OIa(B
      $BDL$O;H$&?M$N@UG$$G$"$k!#(B UNIX $B7A<0$N(Bman $B$N@hF,$K$"$kMWLs$N>O$O!"(B 
      $B8m2r$r>7$/@bL@$r$7$F$$$k!#(B $B$=$3(B $B$K:\$C$F$$$k%3!<%I$N0lIt$O!"(B $B;H(B
      $B$$J}$H$$$&$h$j$O!"(B $B4X?t$N<BAu$G;H$o$l$k4X(B $B?tDj5A$K6a$$!#(B $BFC$K(B($B9=(B
      $BB$BN$dJ8;zNs$X$N(B) $B%]%$%s%?$r07$&4X?t$NB?$/$O$J$s$+(B $B$7$i$N%*%V%8%'(B
      $B%/%H(B($B9=B$BN$+G[Ns$X$N!D(BQ2.3 $B$d(BQ2.4 $B$r;2>H(B) $B$X$N%"%I%l%9(B $B$r0z?t$K(B
      $B5/F0$5$l$k!#(B $B$[$+$K$h$/$"$kNc$O(Bstat() $B$G$"$k!#(B

Q3.4: $BJ8;zNs$rJV$9(B($B$3$H$K$J$C$F$$$k(B) $B4X?t$,$"$k!#(B $B$1$l$I8F$s$@B&$N4X?t(B
      $B$KJV$C$F(B $B$/$k$H!"(B $BJV$C$F$-$?J8;zNs$K$O%4%_$,F~$C$F$$$k!#(B

A3.4: $B4X?t$,JV$9J8;zNs$r3JG<$9$kNN0h$,@5$7$/3d$jEv$F$i$l$F$$$k$3$H$r3N(B
      $BG'$9$k(B $B$3$H!#(B $BJV$5$l$?%]%$%s%?$O@EE*$K3d$jEv$F$i$l$?%P%C%U%!$+!"(B 
      $B8F$s$@B&$N4X?t(B $B$+$iEO$5$l$?%P%C%U%!$G$"$C$F!"(B $B8F$P$l$?4X?t$N%m!<(B
      $B%+%k$J(B($B<+F0JQ?t$N(B) $BG[Ns(B $B$G$"$C$F$O$J$i$J$$!#(B $B$D$^$j0J2<$N$h$&$J(B
      $B$3$H$O@dBP$K$d$C$F$O$$$1$J$$!#(B

          char  *f()
          {
                 char  buf[10];

                 /*  ...  */
                 return  buf;
          }

      $B=$@5$9$kJ}K!$N$R$H$D$O!"(B $B%P%C%U%!$r0J2<$N$h$&$K@k8@$9$k$3$H(B
      $B$G$"$k(B($B$3$l(B $B$b!"(B f() $B$,:F5"E*$K5/F0$5$l$k>l9g$d!"(B $BLa$jCM$,F1;~$K(B
      $BJ#?t$N2U=j$GI,MW$J>l9g(B $B$K$&$^$/9T$+$J$$$3$H$r9M$($k$HIT==J,$G$"(B
      $B$k(B)$B!#(B static char buf[10]; Q17.5 $B$b;2>H$N$3$H!#(B

Q3.5: malloc $B$,JV$7$?CM$r3NJ]$7$?%G!<%?7?$N%]%$%s%?$KCm0U?<$/%-%c%9%H(B
      $B$7$F$$(B $B$k%3!<%I$r$?$^$K8+$k$N$O$J$<$+!#(B

A3.5: ANSI/ISO $B5,3J$N(BC $B8@8l$,(Bvoid *$B$H$$$&HFMQ$N%]%$%s%?7?$rF3F~$9$k$^(B
      $B$G$O!"(B $B8_49@-$N$J$$%]%$%s%?7?$N4V$GBeF~$r$9$k$H$-$K7Y9p$rL[$i$;(B
      $B$k$N$K$3$&$7$?(B $B%-%c%9%H$,I,MW$H$J$k$3$H$,$h$/$"$C$?!#(B (ANSI/ISO 
      $B5,3J$N(BC $B$G$O!"(B $B$3$&$7(B $B$?%-%c%9%H$OI,MW$J$$!#(B )

Q3.6: $BF0E*$K3d$jEv$F$?5-21NN0h$O2rJ|$7$?8e$K$O;H$($J$$$M!#(B

A3.6: $B;H$($J$$!#(B malloc $B$N@N$N2r@b$K$O2rJ|$5$l$?NN0h$O(B $B!V2u$5$l$:$K;D$C(B
      $B$F$$$k!W(B $B$H5-=R$7$F$"$k$b$N$b$"$C$?!#(B $B$3$N$&$+$D$JJ]>Z$O0lHLE*$K(B
      $B$J$k$3$H$O$J$/!"(B ANSI $B$G$O!"(B $B$3$N$h$&$J$3$H$rJ]>Z$9$k$3$H$OMW5a(B
      $B$5$l$F$$$J$$!#(B $B0U<1$7$F2rJ|$7$?NN0h$NCf?H$r;H$&%W%m%0%i%^$O>/$J(B
      $B$$!#(B $B$1$l$I6vA3;H$C$F$7(B $B$^$&$3$H$O$h$/$"$k!#(B $B0l=E%j%s%/$N%j%9%H(B
      $B$r2rJ|$9$k0J2<$N(B($B@5$7$$(B) $B%3!<%I$r(B $B9M$($F$_$h$&!#(B

          struct  list  *listp,  *nextp;
          for(listp  =  base;  listp  !=  NULL;  listp  =  nextp)  {
                   nextp  =  listp->next;
                   free((char  *)listp);
          }

      $B0l;~JQ?t$N(Bnextp $B$r;H$&$3$H$J$/(Blistp = listp->next $B$r;H$C$?$H(B
      $B$9$l$P$I$&(B $B$J$C$?$+9M$($F$_$k$3$H!#(B

          References:  [ANSI] Rationale Sec.  4.10.3.2 p.  102; [CT&P] Sec.  7.10 p.  95.

Q3.7: free() $B$O!"(B $B$I$&$d$C$F2?%P%$%H2rJ|$9$k$+$rCN$k$N$+!#(B

A3.7: malloc/free $B%Q%C%1!<%8$O!"(B $B%a%b%j$N%V%m%C%/$r3d$jIU$1$F!"(B $B$=$N%V(B
      $B%m%C%/$N(B $B@hF,%"%I%l%9$rJV$9!#(B $B$=$N;~$K!"(B $B%V%m%C%/$N%5%$%:$r5-21(B
      $B$9$k!#(B $B$h$C$F2rJ|$9(B $B$k$H$-$K(Bfree $B$K;W$$=P$5$;$kI,MW$O$J$$!#(B

Q3.8: $B$@$C$?$i3d$jEv$F$?NN0h$NBg$-$5$r(Bmalloc $B$KJ9$/$3$H$,$G$-$k$N$+!#(B

A3.8: $B0\?"@-$N9b$$J}K!$G$OL5M}$@!#(B

Q3.9: $BF0E*$K3d$jEv$F$?%*%V%8%'%/%H$X$N%]%$%s%?$r4^$`9=B$BN$r3d$jEv$F$F(B
      $B$$$k!#(B $B9=B$BN$r2rJ|$9$kA0$K!"(B $B9=B$BN$,4^$`%]%$%s%?$N@h$N%*%V%8%'(B
      $B%/%H$rA4It2rJ|(B $B$7$J$1$l$P$J$i$J$$$N$+!#(B

A3.9: $B$=$N$H$*$j!#(B $B0lHL$K(Bmalloc $B$,JV$7$F$-$?%]%$%s%?$r(B($B2rJ|$9$k$H$7$?(B
      $B$i(B) $B$=$l$>$l0lEY$@$1(Bfree $B$KEO$9$7$/$_$rMQ0U$7$J$1$l$P$$$1$J$$!#(B

Q3.10: $BBgNL$N5-21NN0h$r(Bmalloc $B$7$F(Bfree $B$7$F$^$o$k%W%m%0%i%`$,$"$k!#(B $B$1(B
      $B$l$I!"(B $B%a%b%j$N;HMQ>u67$r$_$k$H(B(ps $B$G8+$($kCM$K$h$k$H(B) $BNN0h$,La$C(B
      $B$F$-$?$h$&$K$O(B $B8+$($J$$!#(B

A3.10: $B$?$$$F$$$N(Bmalloc/free $B$N<BAu$O!"(B $B2rJ|$5$l$?%a%b%j$r(BO/S $B$K(B(O/S 
      $B$,$"$C$?(B $B$H$7$F(B) $BJV$5$J$$!#(B $B8e$+$i(Bmalloc $B$,8F$S=P$5$l$?$H$-$N$?(B
      $B$a$K<h$C$F$*$/!#(B

Q3.11: $B%W%m%0%i%`$,=*N;$9$kA0$K!"(B $B3NJ]$7$?%a%b%j$r2rJ|$7$J$1$l$P$J$i$J(B
      $B$$$+!#(B

A3.11: $B$=$NI,MW$O$J$$!#(B $B$^$H$b$J%*%Z%l!<%F%#%s%0%7%9%F%`$J$i$-$C$H%W%m(B
      $B%0%i%`(B $B$,=*N;$7$?;~E@$G$9$Y$F$N%a%b%j$r<h$jJV$9$@$m$&!#(B $B$K$b$+$+(B
      $B$o$i$:!"(B $B%Q%=%3(B $B%s$NCf$K$O%a%b%j$r<h$jLa$9$3$H$,3N<B$K$O$G$-$J$$(B
      $B$b$N$b$"$k$h$&$G$"$k!#(B ANSI/ISO C $B5,3J$+$i7kO@$D$1$i$l$k$3$H$O!"(B 
      $B2rJ|$7$F$/$l$k$+$I$&$+$O(B $B!V<B(B $BAu$NIJ<A$,$I$l$/$i$$9b$$$+$K$h$k!W(B 
      $B$H$$$&$3$H$@$1$G$"$k!#(B

      References: [ANSI] Sec.  4.10.3.2 .

Q3.12: realloc() $B$N:G=i$N0z?t$K%L%k%]%$%s%?$r;H$&$3$H$O5v$5$l$F$$$k$N(B
      $B$+!#(B $B$I$&$7$F$=$s$J$3$H$r$9$k$N$+!#(B

A3.12: ANSI C $B$O$3$N;HMQJ}K!$r5v$7$F$$$k(B($B$3$l$K4X78$9$k(Brealloc(...,0) 
      $B$b5v$7(B $B$F$$$k!#(B $B$3$l$,NN0h$r2rJ|$9$k(B)$B!#(B $B$1$l$I$b@N$N%3%s%Q%$%i$K(B
      $B$OBP1~$7$F$$$J$$(B $B$b$N$b$"$k$N$G!"(B $B$3$NJ}K!$O0\?"@-$,9b$$$H$O$$$((B
      $B$J$$!#(B $BBh0l0z?t$r%L%k%]%$(B $B%s%?$K$9$k$3$H$G3dEv$F$kNN0h$r$@$s$@$s(B
      $BA}$d$7$F$$$/%"%k%4%j%:%`$r<B8=$9(B $B$k$H$-$K5/F0$9$kItJ,$r=q$/$3$H(B
      $B$,MF0W$K$J$k!#(B

      References:  [ANSI] Sec.  4.10.3.4 .

Q3.13:      calloc $B$H(Bmalloc $B$N0c$$$O!#(B calloc $B$N(B0 $B$rKd$a$k$H$$$&5!G=$r!"(B $B%]%$%s%?$dIb(B
            $BF0>.?tE@?t$K;H$C$F$bLdBj$J$$$+!#(B free $B$O(Bcalloc $B$,3d$jEv$F$?NN0h$K$bF/$/(B
            $B$+!"(B $B$=$l$H$b(Bcfree $B$r;H$o$J$/$F$O$J$i$J$$$+!#(B

A3.13:      calloc(m,  n) $B$O0J2<$N%3!<%I$HF1$8F0$-$r$9$k!#(B

            p  =  malloc(m  *  n);
            memset(p,  0,  m  *  n);

            0 $B$rKd$a$k$H$$$&$N$OA4%S%C%H(B0 $B$K$9$k$H$$$&$3$H$G!"(B $B%]%$%s%?$dIbF0>.?tE@(B
            $B?t$K$D$$$F0UL#$N$"$k(B0 $B$rKd$a$k$3$H$rJ]>Z$7$F$$$J$$(B(1 $B>O$r;2>H$N$3$H(B)$B!#(B
            calloc $B$,3d$jEv$F$?NN0h$N2rJ|$K(Bfree $B$r;H$&$3$H$O2DG=$G$"$k(B($B$=$&$9$Y$-(B
            $B$G$"$k(B)$B!#(B

            References:  [ANSI] Secs.  4.10.3 to 4.10.3.2 .

Q3.14:      alloca $B$O2?$r0UL#$7$F$$$F$$$k$N$+!#(B $B!V;H$o$J$$$[$&$,$h$$!W(B $B$H$J$<8@$o$l$k(B
            $B$N$+!#(B

A3.14:      alloca $B$ONN0h$r3d$jEv$F!"(B alloca $B$r5/F0$7$?4X?t$rH4$1$?;~E@$G$=$NNN0h$O(B
            $B<+F0E*$K2rJ|$5$l$k!#(B $B$9$J$o$A(Balloca $B$K$h$C$F3d$jEv$F$i$l$?NN0h$O!"(B $BFCDj$N(B
            $B4X?t$N(B $B!V%9%?%C%/%U%l!<%`!W(B $B$d%3%s%F%-%9%H$K6I=jE*$H$J$k!#(B

            alloca $B$r0\?"@-$,9b$$$h$&$K=q$/$3$H$O$G$-$J$$$7!"(B $B%9%?%C%/$N$J$$%^%7%s>e(B
            $B$K<BAu$9$k$3$H$OFq$7$$!#(B $B$3$l$r;H$&$3$H$O!"(B $BLa$jCM$rD>@\JL$N4X?t$KEO$9>l(B
            $B9g$K(B($B$9$0$K;W$$$D$/$h$&$J<BAu$G$O!"(B $B%9%?%C%/$K4p$E$/%^%7%s$G$OI,$:<:GT(B
            $B$9$k(B)$B!"(B $B$?$H$($P(Bfgets(alloca(100),100,  stdin) $B$N$h$&$J<0$GLdBj$r>7$/!#(B
            alloca $B$OJXMx$K$_$($k$,!"(B $B$3$l$i$NM}M3$K$h$j0\?"@-$,9b$/$J$1$l$P$J$i$J(B
            $B$$%W%m%0%i%`$G$O;H$&$3$H$O$G$-$J$$!#(B

            References:  [ANSI] Rationale Sec.  4.10.3 p.  102.

4        $B<0(B

Q4.1:     $B$J$<0J2<$N%3!<%I$O$&$^$/F0$+$J$$$N$+!#(B

          a[i]  =  i++;

A4.1:     i++$B$OI{:nMQ$r$b$?$i$9!#(B $B$D$^$j(Bi $B$NCM$rJQ99$9$k!#(B $B$3$N$3$H$,<0$NB>$N$H$3$m(B
          $B$G(Bi $B$,;2>H$5$l$F$$$k$H$-$KL$Dj5A$N?6Iq$$$r0z$-5/$3$9(B(K&R $B$N8@$$2s$7$G(B
          $B$O$3$N<0$N?6$kIq$$$OITDj$G$"$k$H<h$l$k$,!"(B ANSI/ISO C $B5,3J$O0lCJ$H87$7(B
          $B$/L$Dj5A$G$"$k$H$7$F$$$k!#(B- Q5.23 $B$r;2>H$N$3$H(B)$B!#(B

          References:  [ANSI] Sec.  3.3 p.  39.

Q4.2:     $B;d$,;H$C$F$$$k%3%s%Q%$%i$G$O0J2<$N%3!<%I$G(B49 $B$r=PNO$9$k!#(B

          int  i  =  7;
          printf("%d\n",  i++  *  i++);

          $BI>2A$N=g$K$+$+$o$j$J$/!"(B 56 $B$r=PNO$9$k$N$G$O$J$$$N$+!#(B

A4.2:     $B8eCVA}J,1i;;;R(B++$B$b8eCV8:J,1i;;;R(B--$B$b85$NCM$rJV$7$?8e$G!"(B $BA}J,$d8:J,$r(B
          $B9T$&!#(B $B$3$N!H8e!I$N0UL#IU$1$,$7$P$7$P8m2r$r>7$/!#(B $BA02sCM$r;:$_=P$7$?$9$0(B
          $B8e$G!"(B $B$+$D<0$N$=$NB>$NItJ,$,I>2A$5$l$kA0$K!"(B ++$B$d(B--$B$,A}J,$d8:J,$r9T$&$3(B
          $B$H$OJ]>Z$5$l$F$$$J$$!#(B $BC1$K<0$,!H=*N;!I$9$k$^$($N$I$3$+$G99?7$,<B9T$5$l(B
          $B$k$3$H$,J]>Z$5$l$F$$$k$@$1$G$"$k(B(ANSI  C $B$NMQ8l$G$$$($P<!$N!HI>2A=g=x(B
          $BE@!I(B(sequence  point) $B$NA0(B)$B!#(B $B>e$NNc$G$O!"(B $BA02sCM$HA02sCM$r3]$19g$o$;$F$+$i(B
          $BA}J,$r<B9T$9$k$3$H$r%3%s%Q%$%i$OA*Br$7$?!#(B

          $BI{:nMQ$,$"$$$^$$$JItJ,$,J#?t$"$k%3!<%I$N$U$k$^$$$O!"(B $B>o$KL$Dj5A$G$"$k!#(B
          $B<+J,$N;H$C$F$$$k%3%s%Q%$%i$,$=$N$h$&$JI{:nMQ$r;}$D%3!<%I$r$I$&<BAu$7$F(B
          $B$$$k$+D4$Y$k$h$&$J$3$H$b$7$F$O$$$1$J$$(B($BB?$/$N(BC $B$N652J=q$K:\$C$F$$$k6r(B
          $B$+$J47=,$G$"$k$,!"(B $B$*A&$a$O$7$J$$(B)$B!#(B K&R $B$,;XE&$7$F$$$k$h$&$K(B $B!V$b$7MM!9(B
          $B$J%^%7%s$G$I$&$d$C$F$d$C$F<B9T$7$F$k$N$+!"(B $B$o$+$i$J$1$l$P!"(B $B$o$+$i$J$$$H(B
          $B$$$&$3$H$,=u$1$H$J$k$+$b$7$l$J$$!#!W(B

          References:  [K&R I] Sec.  2.12 p.  50; [K&R II] Sec.  2.12 p.  54; [ANSI] Sec.  3.3
          p.  39; [CT&P] Sec.  3.7 p.  47; [PCS] Sec.  9.5 pp.  120-1.  ([H&S] Sec.  7.12 pp.
          190-1 $B$OL5;k$9$k$3$H!#(B $B$3$l$O;~BeCY$l$G$"$k(B)

Q4.3:     $B0J2<$N%3!<%I$r$$$/$D$+$N%3%s%Q%$%i$G%3%s%Q%$%k$7$F<B83$7$F$_$?!#(B
          int  i  =  2;
          i  =  i++;

          i $B$NCM$H$7$F!"(B 2 $B$rM?$($k$b$N(B3 $B$rM?$($k$b$N(B4 $B$rM?$($k$b$N$,$"$C$?!#(B $B>e$N(B
          $B%3!<%I$N?6$kIq$$$OL$Dj5A$G$"$k$N$OCN$C$F$$$k!#(B $B$7$+$7$I$&$7$F(B4 $B$K$J$k$h(B
          $B$&$J$3$H$,$"$k$N$+!#(B

A4.3:     $BL$Dj5A$N?6$kIq$$$H$$$&$N$O!"(B $B$I$s$J$3$H$,5/$C$F$bIT;W5D$,$J$$$3$H$r0UL#(B
          $B$7$F$$$k!#(B Q5.23 $B$r;2>H$N$3$H!#(B

Q4.4:     $B?6$kIq$$$,L$Dj5A$@$H$&$k$5$/$$$&?M$,$$$k$1$l$I(BANSI $B=`5r$N%3%s%Q%$%i$G(B
          $B;n$7$F;d$,;W$&$H$*$j$N7k2L$rF@$?!#(B

A4.4:     $BL$Dj5A$N?6$kIq$$$K=P$/$o$7$?$i%3%s%Q%$%i$O9%$-$J$h$&$K?6$kIq$&(B($B$+$D!"$"(B
          $B$kHO0OFb$G!"(B $B<BAu$,Dj5A$7$??6$kIq$$!"(B $B$"$k$$$OITDj$N?6$kIq$$$K=P$/$o$7$?(B
          $B$H$-(B)$B!#(B $B$=$NCf$K$O$"$J$?$,4|BT$7$?7k2L$b4^$`!#(B $B$3$s$J$3$H$KMj$k$N$OGO</$2(B
          $B$F$$$k!#(B Q5.18 $B$r;2>H$N$3$H!#(B

Q4.5:     $B3g8L$r$D$1$FI>2A$N=g$r;d$N9%$-$J$h$&$K$9$k$3$H$,$G$-$k$+!#(B $B$b$7$G$-$J$$(B
          $B$H$7$F!"(B $BM%@h=g0L$,I>2A$N=g$r7h$a$k$N$G$O$J$$$N$+!#(B

A4.5:     $B1i;;;R$NM%@h=g0L$d3g8L$rIU$1$k$3$H$O!"(B $B<0$NI>2A$KItJ,E*$K=g=xIU$1$r$9$k(B
          $B$@$1$G$"$k!#(B $B0J2<$N<0$r9M$($F8+$h$&!#(B
          f()  +  g()  *  h()
          $B3]$1;;$OB-$7;;$NA0$K5/$3$k$H$$$&$3$H$O$o$+$C$F$$$k$1$l$I!"(B 3 $B$D$N4X?t$N(B
          $B$&$A$I$N4X?t$,:G=i$K8F$P$l$k$+$O$o$+$i$J$$!#(B

Q4.6:     $B$=$l$G$O(B&&$B$d(B||$B$d(B,($B%3%s%^(B) $B$O$I$&$J$k$N$+!#(B
          $B!V(Bif((c  =  getchar())  ==  EOF  ||  c  ==  '\n')...$B!W(B  $B$H$$$&$h$&$J%3!<%I$r8+$?$3$H$,$"$k$,!#(B

A4.6:     $B$3$l$i$N1i;;;R$K$D$$$F$O(B($B;09`1i;;;R(B?:$B$bF1MM$@$,(B) $BFCJL$JNc30$,$"$C$F!"(B $B$=(B
          $B$l$>$lI>2A=g=xE@$r0UL#$7$F$$$k(B($B$D$^$j:8$+$i1&$X=g$KI>2A$9$k$3$H$,J]>Z(B
          $B$5$l$F$$$k(B)$B!#(B C $B$K4X$9$k$I$s$JK\$G$b!"(B $B$3$NE@$K$D$$$FL@Gr$K$7$F$/$l$k$O$:(B
          $B$G$"$k!#(B

          References:  [K&R I] Sec.  2.6 p.  38, Secs.  A7.11-12 pp.  190-1; [K&R II] Sec.
          2.6 p.  41, Secs.  A7.14-15 pp.  207-8;  [ANSI] Secs.  3.3.13 p.  52, 3.3.14 p.  52,
          3.3.15 p.  53, 3.3.17 p.  55, [CT&P] Sec.  3.7 pp.  46-7.

Q4.7:     $B<0$NCM$r;H$o$J$$$H$7$F!"(B $BJQ?t$K(B1 $B$r2C$($k$N$K(Bi++$B$H(B++i $B$N$I$A$i$r;H$($P(B
          $B$h$$$N$+!#(B

A4.7:     $B$3$NFs$D$O;:$_=P$9CM$,0c$&$@$1$G!"(B $BI{:nMQ$@$1$rI,MW$H$9$k$H$-$O$^$C$?$/(B
          $BF1$8$G$"$k!#(B

Q4.8:     $B$J$<0J2<$N%3!<%I$O;d$,;W$C$?DL$j$KF0$+$J$$$N$+!#(B

          int  a  =  1000,  b  =  1000;
          long  int  c  =  a  *  b;

A4.8:     C $B$N@0?t$NJQ49%k!<%k$K$h$j!"(B $B:8JU$N(Blong  int $B$KBeF~$5$l$k$^$G$K3]$1;;$,(B
          int $B$G9T$o$l7e$"$U$l$,5/$3$j!"(B $B@Z$j<N$F$,<B9T$5$l$?(B($B$"$k$$$OC1$K@Z$j<N(B
          $B$F$@$1$,9T$o$l$?(B)$B!#(B long $B$N1i;;$r9T$o$;$k$K$OL@<(E*$J%-%c%9%H$r;H$(!#(B

          long  int  c  =  (long  int)a  *  b;
          (long  int)(a  *  b) $B$G$O2f!9$NK>$`7k2L$,F@$i$l$J$$$3$H$KCm0U$9$k$3$H!#(B

5        ANSI  C

Q5.1:       $B!V(BANSI C $B5,3J!W(B $B$H$O2?$r0UL#$9$k$N$+!#(B

A5.1:     1983 $BG/$K!"(B $B%"%a%j%+9qFbI8=`5,3J6(2q(B(ANSI) $B$O(BC $B8@8l$NI8=`2=$rL\;X$70Q0w(B
          $B2q(BX3J11 $B$rH/B-$7$?!#(B $B2?EY$+$N9-HO0O$K$o$?$k8x3+%l%S%e!<$r4^$`D9$$:$Fq$J(B
          $B2aDx$N8e$K!"(B $B0Q0w2q$N:n6H$O!"(B $B%"%a%j%+9qFbI8=`5,3J(BX3.159 $B$H$7$F(B1989 $BG/(B12
          $B7n(B14 $BF|$KHc=Z$5$l!"(B 1990 $BG/$N=U$K=PHG$5$l$?!#(B ANSI C $B$NBgItJ,$O@$$NCf$N(B
          $B47=,$r5,3J2=$7$?$b$N$G!"(B $B$=$N$[$+$O(BC++$B$+$i$N(B($B0lHVM-L>$J$N$O4X?t%W%m%H(B
          $B%?%$%W$G$"$k(B) $B%"%$%G%"$NGR<Z$H!"(B $BB?9q8lJ8;zNs$X$NBP1~(B($B9sI>$5$l$F$$$k;0O"(B
          $BJ8;z(B(trigraph) $B$r4^$`(B) $B$G$"$k!#(B ANSI C $B5,3J$O!"(B C $B$N<B9T;~$N%i%$%V%i%j$K$D(B
          $B$$$F$b5,Dj$7$F$$$k!#(B

          $B=PHGJ*$H$7$F$N5,3J$O!"!V(BRationale($BO@M}E*:,5r(B)$B!W$r4^$s$G$$$k!#(BRationale $B$O!"(B
          $B5,3J$N7hDj$K$^$D$o$kB?$/$N;vJA$K$D$$$F@bL@$7!"(B $B$3$N(BFAQ $B$G<h$j>e$2$F$$(B
          $B$k$$$/$D$+$N$3$H$,$i$r4^$`?tB?$/$N5,3J$NHyL/$JE@$K$D$$$F@bL@$7$F$$$k(B
          (Rationale $B$=$N$b$N$O(BANSI Standard X3.159-1989 $B$N0lIt$G$O$J$$!#(B $B$?$@$7;q(B
          $BNA$H$7$F4^$^$l$F$$$k(B)$B!#(B

          ANSI C $B5,3J$O!"(B $B9q:]5,3J(BISO/IEC 9899:1990 $B$H$7$F:NMQ$5$l$?!#(B $B$?$@$7>O$N(B
          $B?6$jJ}$O0[$J$k$7(B(ANSI $B$N(B2 $B>O$+$i(B4 $B>O$O!"(B $B$@$$$?$$(BISO $B$N(B5 $B>O$+$i(B7 $B>O$K(B
          $BBP1~$9$k(B)$B!"(B Rationale $B$O:#$N$H$3$m4^$^$l$F$$$J$$!#(B

Q5.2:     $B$I$3$+$i5,3J$r<j$KF~$l$k$3$H$,$G$-$k$+(B

A5.2:     $B%"%a%j%+9g=09q9qFb$G$O!"(B $B0J2<$N$H$3$m$+$i<j$KF~$l$k$3$H$,$G$-$k!#(B
          American  National  Standards  Institute  11  W.  42nd  St.,  13th  floor
          New York, NY 10036 USA (+1) 212 642 4900
          $B$"$k$$$O(B
          Global Engineering Documents 2805 McGaw Avenue Irvine, CA 92714
          USA (+1) 714 261 1455 (800) 854 7179 (U.S. & Canada)
          $B$=$NB>$N9q$G$O!"(B $B9q$N5,3J$r<h$j;E@Z$kCDBN$+%8%e%M!<%V$N(BISO $B$KLd$$9g$o$;(B
          $B$F$_$k$3$H!#(B
______________________________________________________________________________
    $BLuCm(B: $BF|K\$G$OF|K\5,3J6(2q$,H/Gd$7$F$$$k!#(BJIS$B$O(BTEL 03-3583-8002$B!"(BISO$B$O(BTEL
           03-3583-8003 $B$h$jF~<j2DG=$G$"$k!#(B

          ISO Sales Case Postale 56 CH-1211 Geneve 20 Switzerland
          $B2A3J$O!"(BANSI $B$+$i9XF~$9$k$H$-$O(B$130 $B$G!"(BGlobal $B$+$i9XF~$9$k>l9g$O(B$162.50
          $B$G$"$k!#(B Rationale $B$r4^$`%*%j%8%J%k$N(BX3.159 $B$b!"(B ANSI $B$+$i$O(B$205.00 $B$G!"(B

          Global $B$+$i$O(B$200.50 $B$GF~<j$9$k$3$H$,$G$-$k!#(B ANSI $B$O!"(B $B$=$N1?1D;q6b$r5,3J(B
          $B$N0u:~J*$NHNGd$+$iF@$F$$$k!#(B $B$h$C$F5,3J$NEE;RE*$J%3%T!<$OF~<jIT2D$G$"$k!#(B
          $B8m2r$r>7$/$h$&$JBj$N!VCm<aIU$-(BANSI C $B5,3J(B(Annotated ANSI C Standard)$B!W(B
          $B$H$$$&K\$,(BHerbert Schildt $B$NCm<aIU$-$G(BOsborne/McGraw-Hill $B$+$i(BISBN 0-
          07-881952-0 $B$H$7$F=PHG$5$l$F$$$k!#(B $B$3$l$O(BISO 9899 $B$N?t%Z!<%8$r=|$$$F$[$H(B
          $B$s$IA4J8$r4^$s$G$$$k!#(B $B9g=09q9qFb$G$O(B$40 $BDxEY$G<j$KF~$k(B($B$3$NK\$H8x<0$N5,(B
          $B3J=q$NCMCJ$N:9$OCm<a$N2ACM$rH?1G$7$F$$$k$H9M$($i$l$F$$$k(B)$B!#(B

          Rationale $B$N%F%-%9%H(B($B5,3JA4BN$G$O$J$$(B) $B$O(Bftp.uu.net $B$N%G%#%l(B
          $B%/%H%j(Bdoc/standards/ansi/X3.159-1989 $B$+$i(Banonymous ftp(Q17.12 $B;2>H(B) $B2D(B
          $BG=$G$"$k!#(B Rationale $B$O(BSilicon Press
          $B$+$i=PHG$b$5$l$F$$$k!#(B ISBN $B$O(B0-929306-07-4 $B$G$"$k!#(B

Q5.3:     $BC/$+8E$$=q$-J}$N(BC $B%W%m%0%i%`$r(BANCI  C $B$KJQ49$9$k%W%m%0%i%`$d!"(B $B$=$NH?(B
          $BBP$r$*$3$J$&%D!<%k!"(B $B$^$?<+F0E*$K4X?t%W%m%H%?%$%W$r@8@.$9$k%D!<%k$r;}$C(B
          $B$F$$$J$$$+!#(B

A5.3:     protoize $B$H(Bunprotize $B$H$$$&$N$,!"(B $B4X?t%W%m%H%?%$%W$+$i8E$$=q$-J}$N4X?tDj(B
          $B5A$d@k8@$X!"(B $B$"$k$$$O$=$N5U$r<B9T$9$k%D!<%k$G$"$k(B($B$3$l$i$N%D!<%k$O!"(B $B8E(B
          $B$$=q$-J}$N(BC $B$H(BANSI C $B$N4V$N40`z$JJQ49%D!<%k$G$O$J$$(B)$B!#(B FSF $B$N(BGNU C
          $B%3%s%Q%$%i(Bgcc $B$N%Q%C%A$H$7$FB8:_$7$F$$$?$,!"(B $B:#$G$O(Bgcc $BK\BN$N@5<0$JG[I[(B
          $B$N0lIt$G$"$k!#(B $B%5%$%H(Bprep.ai.mit.edu(18.71.0.38) $B$dB>$N(BFSF $B$N%"!<%+%$(B
          $B%V%5%$%H$N%G%#%l%/%H%j(Bpub/gnu $B$N%U%!%$%k(Bprotoize-1.39.0.5.Z $B$rC5$7$F(B
          $B$_$k$3$H!#(B

          $B%W%m%0%i%`(Bunproto($B%5%$%H(Bftp.win.tue.nl $B$N%U%!%$%k(B/pub/unix/unproto5.shar.Z)
          $B$O!"(B $B%W%j%W%m%;%C%5$H%3%s%Q%$%i$N4V$KF~$C$F!"(B ANSI C $B$r8E$$(BC $B$K(B($B%3%s%Q(B
          $B%$%k;~$K(B) $BJQ49$9$k%U%#%k%?!<$G$"$k!#(B

          GNU GhostScript $B%Q%C%1!<%8$K$O(Bansi2knr $B$H$$$&!"(B $B$A$g$C$H$7$?%W%m%0%i%`(B
          $B$,$D$$$F$$$k!#(B

          $B4X?t%W%m%H%?%$%W$N<+F0@8@.%D!<%k$O$$$/$D$+B8:_$9$k!#(BCPROTO $B$N%P!<%8%g(B
          $B%s(B3 $B$O!"(B 1992 $BG/(B3 $B7n$K(Bcomp.sources.misc $B$KEj9F$5$l$?!#(B $BB>$K$b(Bcextract $B$H$$(B
          $B$&%D!<%k$,B8:_$9$k!#(B Q17.12 $B$b;2>H$N$3$H!#(B
          $B:G8e$K0l8@!#(B $BBgNL$N8E$$%3!<%I$r(BANSI C $B$KJQ49$9$kI,MW$,K\Ev$K$"$k$N$+!#(B
          $B8E$$=q$-J}$N4X?t$N9=J8$O$=$N$^$^;H$($k!#(B

Q5.4:     ANSI $B$N!HJ8;zNs$r:n$j=P$9!I%W%j%W%m%;%C%5$N1i;;;R(B#$B$r;H$C$F!"(B $B%a%C%;!<%8(B
          $B$NCf$K%7%s%\%kDj?t$rA^F~$7$h$&$H$7$F$$$k!#(B $B$1$l$I!"(B #$B$O%^%/%m$NCM$G$O$J(B
          $B$/%^%/%m$NL>A0$rJ8;zNs$K$7$F$7$^$&!#(B

A5.4:     $B%^%/%m$rE83+$7$FJ8;zNs$r:n$j=P$7$?$$$H$-$O0J2<$N$h$&$JFsCJ$N<jB3$-$rF'(B
          $B$^$J$1$l$P$J$i$J$$!#(B

          #define  str(x)  #x
          #define  xstr(x)  str(x)
          #define  OP  plus
          char  *opname  =  xstr(OP);

          $B$3$l$G(Bopname $B$,(B $B!V(BOP$B!W(B $B$G$O$J$/(B $B!V(Bplus$B!W(B $B$K@_Dj$5$l$k!#(B
          $BF1$8MM$J2sHr<jCJ$,!"(B $B%H!<%/%s$rO"7k$9$k1i;;;R(B##$B$r;H$C$F!"(B $BFs$D$N%^%/%m$N(B
          ($BL>A0$G$O$J$/(B) $BCM$rO"7k$9$k$H$-$KI,MW$K$J$k!#(B

          References:  [ANSI] Sec.  3.8.3.2, Sec.  3.8.3.5 example p.  93.

Q5.5:     $B$J$<(Bconst $B$NCM$r!"(B $B=i4|2=;XDj;R(B(initializer) $B$dG[Ns$NBg$-$5$K;H$($J$$$+M}2r(B
          $B$G$-$J$$!#(B

          const  int  n  =  5;
          int  a[n];

A5.5:     const $B=$>~;R$O<B:]$O(B $B!V;2>H$@$1!W(B $B$r0UL#$9$k!#(B const $B$H=$>~$5$l$?%*%V%8%'(B
          $B%/%H$OIaDL$N<B9T;~$N%*%V%8%'%/%H$G(B($BIaDL$O(B) $BBeF~IT2DG=$G$"$k!#(B $B$7$?$,$C$F(B
          const $B$H=$>~$5$l$?%*%V%8%'%/%H$O!"Dj?t<0$H$$$&C18l$+$i2f!9$,A[Dj$9$kMM!9(B
          $B$J0UL#$r9M$($k$HDj?t<0$H$O8F$Y$J$$(B(C $B$O$3$NLL$G$O(BC++$B$H0c$&(B)$B!#(B $B%3%s%Q(B
          $B%$%k;~$N??$NDj?t$,I,MW$J$i!"(B $B%W%j%W%m%;%C%5$N(B#define $B$r;H$(!#(B

          References:  [ANSI] Sec.  3.4 .

Q5.6:       $B!V(Bchar  const  *p$B!W(B $B$H(B $B!V(Bchar  *  const  p$B!W(B $B$N0c$$$O!#(B

A5.6:       $B!V(Bchar  const  *p$B!W(B $B$OJ8;zDj?t$X$N%]%$%s%?$G(B($BJ8;z$rJQ99$9$k$3$H$O$G$-$J(B
          $B$$(B)$B!"(B $B!V(Bchar  *  const  p$B!W(B $B$OJ8;z(B($B$NJQ?t(B) $B$X$N%]%$%s%?Dj?t(B($B%]%$%s%?$rJQ99$9(B
          $B$k$3$H$O$G$-$J$$(B) $B$G$"$k(B($B0lHVFbB&$+$i!V$R$C$/$jJV$7$F!WFI$a!#(BQ10.4 $B;2>H(B)$B!#(B

          References:  [ANSI] Sec.  3.5.4.1 .

Q5.7:     $B$J$<(Bconst  char  **$B$r0z?t$H$7$F<h$k$H4X?t%W%m%H%?%$%W$K=q$+$l$?4X?t$K!"(B
          char  **$B$rEO$9$3$H$,$G$-$J$$$N$+!#(B

A5.7:     $B$I$s$J7?(BT $B$KBP$7$F$b!"(B const T $B$X$N%]%$%s%?$rA[Dj$7$F$$$k$H$3$m$K(BT $B$X$N(B
          $B%]%$%s%?$r;H$&$3$H$O2DG=$G$"$k!#$7$+$7$3$N(B($B$3$N$3$H$rL@5-$7$F$$$k(B) $B5,B'!"(B
          $B$D$^$jBe$o$j$K;H$&$3$H$N$G$-$k%]%$%s%?7?$K>/$7$NIT0lCW$r5v$7$F$$$k5,B'(B
          $B$O!"(B $B:F5"E*$KE,MQ$5$l$k$o$1$G$O$J$/!"(B $BC1$K0lHV>e$N%l%Y%k$GE,MQ$5$l$k$@$1(B
          $B$G$"$k!#(B $B%]%$%s%?$,0lCJ$G$"$k>l9g$r=|$$$F!"(B $B7?$,0lCW$7$J$$%]%$%s%?$rBeF~(B
          $B$^$?$O0z?t$H$7$FEO$9$H$-$O!"(B $BL@<(E*$K%-%c%9%H(B($B$3$N>l9g$O(Bconst  char  **)
          $B$7$J$1$l$P$J$i$J$$!#(B

          References:  [ANSI] Sec.  3.1.2.6 p.  26, Sec.  3.3.16.1 p.  54, Sec.  3.5.3 p.  65.

Q5.8:     $B;d$,;H$C$F$$$k(BANSI C $B%3%s%Q%$%i$K0J2<$N$h$&$J%3!<%I$rEO$9$H!"(B $B%G!<%?$N(B
          $B7?$,0c$&$HJ86g$rIU$1$k!#(B $B$J$<$+!#(B

          extern  int  func(float);
          int  func(x)
          float  x;
          {$B!D(B

A5.8:     $B?7$7$$=q$-J}$G$"$k%W%m%H%?%$%W@k8@$N!H(Bextern  int  func(float);$B!I$H!"(B $B8E(B
          $B$$=q$-J}$NDj5A$N!H(Bint  func(x)  float  x;$B!I$r:.$<$F;H$C$F$$$k$+$i$G$"$k!#(B
          $BN>J}$N=q$-J}(B(Q5.9 $B;2>H(B) $B$r:.$<$F;H$C$F$b$?$$$F$$$N>l9g$OLdBj$J$$$1$l$I!"(B
          $B$3$N>l9g$OLdBj$,$"$k!#(B $B5lMh$N(BC $B$O(B(ANSI C $B$b%W%m%H%?%$%W$,$J$$$H$-$d!"(B $B0z(B
          $B?t$,2DJQ8D$N$H$-$O$=$&$@$,(B) $B4X?t$KEO$9$H$-$K!<It$N0z?t$r!H9-$2$k!I!#(Bfloat
          $B$O(Bdouble $B$K3J>e$2$5$l!"(B char $B$d(Bshort  int $B$O(Bint $B$K3J>e$2$5$l$k(B($B8E$$=q$-(B
          $BJ}$N4X?tDj5A$G$O!"(B $BCM$O8F$P$l$?B&$N4X?t$G3J2<$NJQ?t$H$7$F@k8@$5$l$F$$$k(B
          $B$H$-$K$O8F$P$l$?$[$&$N4X?t$NCf$G$O<+F0E*$KBP1~$9$k!H69$$!I7?$K5UJQ49$5(B
          $B$l$?(B)$B!#(B

          $B?7$7$$=q$-J}$G$"$k%W%m%H%?%$%W@k8@$r4X?tDj5A$NCf$G<sHx0l4S$7$F;H$&$+!"(B

          int  func(float  x)  {  $B!D(B }

          $B?7$7$$=q$-J}$N4X?t%W%m%H%?%$%W@k8@$r!"(B $B8E$$=q$-J}$NDj5A$K0lCW$9$k$h$&$K(B
          $BJQ99$9$k$3$H$GLdBj$O2r7h$9$k!#(B

          extern  int  func(double);

          ($B$3$N>l9g%Q%i%a!<%?$N%"%I%l%9$r;H$&5$$,$J$$$J$i$P!"(B $B8E$$=q$-J}$N@k8@$G$O(B
          double $B$r;H$C$?$[$&$,$o$+$j$d$9$$(B)
          $B!H69$$!I(B(char$B!"(B short  int$B!"(B float) $B7?$O!"(B $B4X?t0z?t$dLa$jCM$H$7$F$OHr$1$?$[(B
          $B$&$,0BA4$G$"$m$&!#(B

          References:  [ANSI] Sec.  3.3.2.2 .

Q5.9:     $B8E$$=q$-J}$H?7$7$$=q$-J}$N4X?t$N9=J8$r:.$<$F;H$C$F$b$$$$$N$+!#(B

A5.9:     $BCm0U$5$($9$l$P(B(Q5.8 $B$rFC$K;2>H$N$3$H(B) $B:.$<$F;H$&$3$HJ8K!E*$K$^$C$?$/@5(B
          $B$7$$!#(B $B$7$+$78E$$=q$-J}$N9=J8$O;~BeCY$l$H9M$($i$l!"(B $B$=$N%5%]!<%H$O$"$kF|(B
          $B;_$^$C$F$7$^$&$+$b$7$l$J$$!#(B

          References:  [ANSI] Secs.  3.7.1, 3.9.5 .

Q5.10:      $B$J$<@k8@(B

            extern  f(struct  x  {int  s;}  *p);

            $B$G4qL/$J7Y9p%a%C%;!<%8(B $B!V9=B$BN(Bx $B$O%W%m%H%?%$%W$N%9%3!<%WFb$GF3F~$5$l$?!W(B
            $B$,=P$k$N$+!#(B

A5.10:      C $B$N%V%m%C%/$N%9%3!<%W$N0lHL5,B'$N5$$^$0$l$K$h$j!"(B $B%W%m%H%?%$%WFb$G$7$+(B
            $B@k8@$5$l$F$$$J$$9=B$BN$OF1$8%=!<%9%U%!%$%kFb$G@k8@$5$l$F$$$kB>$N9=B$BN(B
            $B$H8_49@-$r;}$D$3$H$,$G$-$J$$$7!"(B $B9=B$BNL>$O4|BT$KH?$7$F8e$G;H$($J$$(B($BL>(B
            $BA0$O%W%m%H%?%$%W$N=*$o$j$G%9%3!<%W$+$i=P$F$7$^$&(B)$B!#(B

            $B$3$NLdBj$r2r7h$9$k$K$O!"(B $B%W%m%H%?%$%W$NA0$KL50UL#$K$_$($k@k8@(B

            struct  x;

            $B$rIU$1$k!#(B $B$3$l$K$h$j%U%!%$%kA4BN$K$o$?$k%9%3!<%W$G!"(B $B9=B$BN(Bx $B$NDj5A$rCV(B
            $B$/>l=j$,3NJ]$5$l$k!#(B $B$3$NNN0h$O!"(B $B%W%m%H%?%$%WFbIt$N9=B$BN$N@k8@$K$h$jKd(B
            $B$a$i$l$k!#(B

            References:  [ANSI] Sec.  3.1.2.1 p.  21, Sec.  3.1.2.6 p.  26, Sec.  3.5.2.3 p.  63.

Q5.11:      #ifdef $B$G%3%a%s%H%"%&%H$7$?%3!<%I$G!"(B $B4qL/$J9=J8%(%i!<$,H/@8$7$?!#(B

A5.11:      ANSI C $B$G$O(B#if$B!"(B#ifdef$B!"(B#ifndef $B$K$h$C$F%3%s%Q%$%k$+$i=|30$5$l$k%F%-%9(B
            $B%H$b(B $B!V%W%j%W%m%;%9$N%H!<%/%s$H$7$FM-8z$J$b$N$G$"$k!W(B $B$H$7$F$$$k!#(B $B$3$N$3(B
            $B$H$O=*C<$N$J$$%3%a%s%H$d0zMQId(B($BC;=L$7$?C18l$NCf$N%"%]%9%H%m%U%#$OJ8;z(B
            $BDj?t$N;O$^$j$K$_$($k$N$GMWCm0U$G$"$k(B) $B$^$?0zMQId$G0O$^$l$?ItJ,$K2~9T$,(B
            $B$"$C$F$O$J$i$J$$$3$H$r0UL#$7$F$$$k!#(B $B$h$C$F<+A38@8l$N%3%a%s%H$d5<;w%3!<(B
            $B%I$O(B $B!V8x<0$N!W(B $B%3%a%s%H$N6h@Z$j5-9f$G$"$k(B/*$B$H(B*/$B$N4V$K=q$+$J$1$l$P$J$i$J(B
            $B$$!#(B Q17.14$B!"(B Q6.7 $B$b;2>H$N$3$H!#(B

            References:  [ANSI] Sec.  2.1.1.2 p.  6, Sec.  3.1 p.  19 line 37.

Q5.12:      main $B$r(Bvoid $B$N4X?t$H$7$F@k8@$7$F(B $B!V(Bmain $B$NLa$jCM$,$J$$!W(B $B$H$$$&L\>c$j$J(B
            $B%a%C%;!<%8$r>C$9$3$H$,$G$-$k$+(B(exit() $B$r8F$s$G$$$k$N$G!"(B main $B$,CM$rJV$9(B
            $B$H$O$J$$(B)$B!#(B

A5.12:      $B$G$-$J$$!#(B main $B$O(Bint $B$rLa$jCM$H$7!"(B ($BE,@Z$J7?$N(B)0 $B8D$+(B2 $B8D$N0z?t$r;}$D$H(B
            $BDj5A$7$J$1$l$P$J$i$J$$!#(B exit() $B$r8F$s$G$b$^$@7Y9p$,=P$k$N$G$"$l$P!"(B $B>iD9(B
            $B$G$"$k$,(Breturn $BJ8$rA^F~$9$k$7$+$J$$(B($B$"$k$$$O;H$($k4D6-$K$$$k$N$G$"$l$P(B
            $B!V$3$3$K$OFO$+$J$$$h(B:notreached$B!W(B $B;XNa$r;H$&(B)$B!#(B

            References:  [ANSI] Sec.  2.1.2.2.1 pp.  7-8.

Q5.13:      exit $B$NCM$O!"(B main $B$+$i$NLa$jCM$HK\Ev$KEy$7$$$N$+!#(B

A5.13:      $B8x<08+2r$H$7$F$OEy$7$$$3$H$K$J$C$F$$$k!#(B $B$?$@$7!"(B ANSI $B5,3J$K=>$C$F$$$J(B
            $B$$$$$/$D$+$N8E$$%7%9%F%`$N>e$G$NF0:n$H!"(B main $B$G%m!<%+%k$J%G!<%?$N8eJR(B
            $BIU$1$,(B(setbuf $B$d(Batexit $B$r8F$V$N$K(B) $BI,MW$J>l9g$H!"(B main() $B$r:F5"E*$K5/F0$9(B
            $B$k>l9g$r=|$/!#(B

            References:  [ANSI] Sec.  2.1.2.2.3 p.  8.

Q5.14:      $B$J$<(BANSI $B5,3J$O!"(B $B30It<1JL;R$N(B7 $BJ8;zL\0J9_$K0UL#$,$"$k$3$H$dBgJ8;z>.J8(B
            $B;z$N0c$$$rJ]>Z$7$J$$$N$+!#(B

A5.14:      $BLdBj$O8E$$%j%s%+!<$K$"$k!#(B $B8E$$%j%s%+!<$O(BANSI $B5,3J$N4IM}2<$K$J$$$7!"(B $B8E(B
            $B$$%j%s%+!<$,:\$C$?%7%9%F%`$r;H$C$F(BC $B%3%s%Q%$%i$r3+H/$7$F$$$k?M$N4IM}2<(B
            $B$K$b$J$$!#(B $B<1JL;R$O:G=i$N(B6 $BJ8;z$7$+M-8z$G$J$$$H@)8B$7$F$$$k$N$G$"$C$F!"(B
            $B<1JL;R$ND9$5$r(B6 $BJ8;z$K@)8B$9$k$H$$$&$3$H$G$O$J$$!#(B $B$3$N@)8B$O$&$s$6$j$5(B
            $B$;$i$l$k$,BQ$($i$l$J$$$b$N$G$b$J$$!#(B $B$3$N@)8B$O(B $B!V$9$?$l$D$D$"$k!W(B $B$H5,3J(B
            $B$NCf$G5-=R$5$l$F$$$k!#(B $B>-Mh$N2~Dj$G@)8B$O4KOB$5$l$=$&$G$"$k!#(B

            $B@)8B$r;}$D8=>u$N%j%s%+!<$X$N>yJb$O!"0lIt$N?M$,$I$s$J$KH?BP$7$h$&$H!"9T$o(B
            $B$J$1$l$P$J$i$J$$(B(Rationale $B$O$3$N@)8B$r;D$7$F$*$+$J$1$l$P$J$i$J$$$3$H$r(B
            $B!V0lHV?I$$$3$H!W(B $B$H=q$$$F$$$k(B)$B!#(B $B$b$7;?@.$G$-$J$$$J$i!"(B $B$^$?$O@)8B$N$"$k%j(B
            $B%s%+!<$r;H$C$?%3%s%Q%$%i$,30It<1JL;R$K$b$C$HB?$/$NJ8;z?t$rM-8z$K07$C$F(B
            $B$$$k$H%W%m%0%i%^$K8+$;$k%H%j%C%/$r;W$$IU$$$?$i!"(B X3.159 $B$N(BRationale(Q5.1
            $B$r;2>H(B) $B$N(B3.1.2 $B9`$rFI$`$3$H!#(B $B$3$N>O$O$$$/$D$+$NJ}K!$r5DO@$7!"(B $B$J$<$=$&$$(B
            $B$&J}K!$r6/@)$9$k$3$H$,$G$-$J$+$C$?$+@bL@$7$F$$$k!#(B

            References:  [ANSI] Sec.  3.1.2 p.  21, Sec.  3.9.1 p.  96, Rationale Sec.  3.1.2 pp.
            19-21.

Q5.15:      memcpy $B$H(Bmemmove $B$N0c$$$O!#(B

A5.15:      memmove $B$,!"%3%T!<85$H%3%T!<@h$K=E$J$j$,$"$C$?$H$-$b$&$^$/07$&$3$H$rJ]>Z(B
            $B$7$F$$$k$N$KBP$7!"(B memcpy $B$O$=$s$JJ]>Z$O$7$F$$$J$$!#(B $B$R$g$C$H$7$?$i(Bmemcpy
            $B$O$=$l$rMxMQ$7$F8zN($N$$$$<BAuJ}K!$r<h$C$F$$$k$+$b$7$l$J$$!#(B $B5?$7$$$H$-(B
            $B$O(Bmemmove $B$r;H$&$[$&$,0BA4$G$"$k!#(B

            References:  [ANSI] Secs.  4.11.2.1, 4.11.2.2, Rationale Sec.  4.11.2 .

Q5.16:      $B;d$N;H$C$F$$$k%3%s%Q%$%i$O!"(B $B9M$($i$l$k8B$j$N0lHVC1=c$J%F%9%H%W%m%0%i%`(B
            $B$KBP$7$F$b!"(B $B$"$j$H$"$i$f$kJ8K!%(%i!<$G$O$M$D$1$k!#(B

A5.16:      $B$-$C$H7/$,;H$C$F$$$k$N$O(BANSI $B5,3J$,7h$^$kA0$K:n$i$l$?%3%s%Q%$%i$G!"(B $B4X(B
            $B?t%W%m%H%?%$%W$NN`$r$O$M$D$1$k$+$i$G$"$k!#(B

Q5.17:      ANSI $B%3%s%Q%$%i$r;H$C$F$$$k$N$K!"(B ANSI/ISO $B5,3J$N%i%$%V%i%j%k!<%A%s$G(B
            $BL$Dj5A$H$J$k$b$N$,$"$k$N$O$J$<$+!#(B

A5.17:      ANSI $B$N9=J8$O<u$1IU$1$k$1$l$I(BANSI $B8_49$N%X%C%@!<%U%!%$%k$d%i%s%?%$%`(B
            $B%i%$%V%i%j$,F3F~$5$l$F$$$J$$%3%s%Q%$%i$ODA$7$/$J$$!#(B Q5.16 $B$H(BQ17.2 $B$b;2(B
            $B>H$N$3$H!#(B

Q5.18:      $B$J$<(BANSI $B=`5r$,Gd$jJ*$NL5E((BC $B%3%s%Q%$%i9lE7$,!"(B $B$3$N%3!<%I$r$O$M$D$1$k(B
            $B$N$+!#(B $B;d$O$3$N%3!<%I$O(BANSI $B$K5,Dj$5$l$?DL$j$@$H9M$($k!#(B $B$J$<$J$i(Bgcc $B$J(B
            $B$i<u$1IU$1$k$+$i$G$"$k!#(B

A5.18:      $B$?$$$F$$$N%3%s%Q%$%i$O5,3J30$N3HD%5!G=$r%5%]!<%H$7$F$$$k!#(B gcc $B$O$=$N:G(B
            $B1&Mc$G$"$k!#(B $B$O$M$i$l$?%3!<%I$,!"(B $B$=$N$h$&$J3HD%5!G=$r;H$C$F$$$J$$<+?.$,(B
            $B$"$k$+!#(B $B8@8l$N@-<A$rD4$Y$k$N$KFCDj$N%3%s%Q%$%i$@$1$G<B83$9$k$3$H$O$h$$(B
            $B9M$($G$O$J$$!#(B $B$9$J$o$A!"(B $B5,3J$,3HD%$rMFG'$7$F$$$k$+$b$7$l$J$$$7!"(B $B<B83$K(B
            $B;H$C$?%3%s%Q%$%i$N8m$j$+$b$7$l$J$$!#(B

Q5.19:      $B$J$<(Bvoid  *$B%]%$%s%?$rAj<j$K;;=Q1i;;$r$9$k$3$H$,$G$-$J$$$N$+!#(B

A5.19:      $B%3%s%Q%$%i$,%]%$%s%?$,;X$9@h$N%*%V%8%'%/%H$NBg$-$5$rCN$k$3$H$,$G$-$J$$(B
            $B$+$i$G$"$k!#(B $B;;=Q1i;;$r9T$&A0$K!"(B $B%]%$%s%?$r(Bchar  *$B$^$?$OA`:n$7$h$&$H$7$F(B
            $B$$$k%G!<%?7?$N%]%$%s%?$K%-%c%9%H$9$k$3$H(B(Q2.18 $B$r8+$F$+$i$K$9$k$3$H(B)$B!#(B

Q5.20:      char  a[3]  =  "abc"; $B$O@5$7$$$N$+!#(B $B2?$r0UL#$9$k$N$+!#(B

A5.20:      ANSI C $B$G$OJ8K!E*$K@5$7$$(B($B$?$V$s(BANSI C $B@.N)0JA0$N%7%9%F%`$N$$$/$D$+$G(B
            $B$b@5$7$/F0$/$@$m$&(B)$B!#(B $B$?$@$7Lr$K$?$D$+$I$&$+$OJL$G$"$k!#(B $B$3$l$OBg$-$5$,(B3
            $B$NG[Ns$r@k8@$7!"(B $BCf?H$r(B'a',  'b',  'c' $B$G=i4|2=$9$k!#(B $BDL>o$N=*C<5-9f$N(B'\0'
            $B$OIU$+$J$$!#(B  $B$h$C$F$3$NG[Ns$O(BC $B8@8l$N0UL#$G$NJ8;zNs$G$O$J$/!"(B strcpy $B$d(B
            printf  %s $B$J$I$G$O;H$($J$$!#(B

            References:  [ANSI] Sec.  3.5.7 pp.  72-3.

Q5.21:      #pragma $B$H$O2?J*$G!"(B $B2?$NLr$KN)$D$N$+!#(B

A5.21:      #pragma $B$O!"(B $BM#0l$N$&$^$/Dj5A$5$l$?!HHs>o8}!I$rM?$($k!#(B #pragma $B$O!"(B $B<BAu(B
            $B$K8GM-$N@)8f$d5!G=$N3HD%$r9T$&$N$K;H$&$3$H$,$G$-$k!#(B $B$?$H$($P%=!<%9%3!<(B
            $B%I$NI=<(J}K!$N@)8f$d!"(B $B7Y9p%a%C%;!<%8$NM^@)(B($B8E$$(Blint $B$N(B/*  NOTREACHED  */
            $B$H$$$&%3%a%s%H$N$h$&$K(B) $B$K;H$($k!#(B

            References:  [ANSI] Sec.  3.8.6 .

Q5.22:      #pragma $B$O@N$O2?$r0UL#$7$F$$$?$N$+!#(B $B%X%C%@!<%U%!%$%k$NCf$K$$$/$D$+=q$$(B
            $B$F$"$C$?!#(B

A5.22:      $B$$$/$D$+$N%W%j%W%m%;%C%5$G!"(B $B%X%C%@!<%U%!%$%k$N(B $B!V$Y$-Ey!W(B $B$r:n$k$N$r(B($BFs(B
            $BEY0J>eFI$_9~$^$l$F$bLdBj$,H/@8$7$J$$$h$&$K$9$k$N$r(B) $BMF0W$K$9$k$?$a$N3H(B
            $BD%$H$7$FMQ0U$5$l$F$$$?!#(B Q6.4 $B$G@bL@$9$k(B#ifndef $B$r;H$C$?5;$HK\<AE*$KF1$8(B
            $B$G$"$k!#(B

Q5.23:      $B<BAu$K$h$jDj5A$5$l$?(B(implementation-defined) $BF0:n!"(B $BITDj$N(B(unspecified) $BF0(B
            $B:n!"L$Dj5A$N(B(undefined) $BF0:n$r6hJL$9$k$3$H$r@$$NCf$G$O=E;k$9$k$h$&$@!#0c(B
            $B$$$O!#(B

A5.23:      $B4J7i$K@bL@$9$k!#(B $B<BAu$K$h$jDj5A$5$l$?F0:n$H$O!"(B $B$I$&?6$kIq$&$+$r<BAu$,A*(B
            $BBr$7$F!"(B $B$=$N?6$kIq$$$rJ8=q$K$9$k$3$H$r0UL#$9$k!#(B $BITDj$NF0:n$H$O!"(B $B$I$&?6(B
            $B$kIq$&$+$r<BAu$,A*Br$7$J$1$l$P$J$i$J$$$,J8=q$K$9$kI,MW$O$J$$$3$H$r0UL#(B
            $B$9$k!#(B $BL$Dj5A$H$O!"(B $BK\Ev$K$I$s$J$3$H$,$*$3$C$F$bIT;W5D$G$O$J$$$3$H$r0UL#(B
            $B$9$k!#(B $B$I$N>l9g$K$b5,3J$O!"(B $BI,MW>r7o$r2]$7$F$$$J$$!#(B $B:G=i$N(B2 $B$D$NF0:n$K$D(B
            $B$$$F5,3J$O;~!9$"$j$=$&$J?6$kIq$$$N=89g$K$D$$$F>/$7Ds0F$7$F$$$k(B($B$=$N=8(B
            $B9g$+$iA*Br$7$J$1$l$P$J$i$J$$$+$b$7$l$J$$(B)$B!#(B

            $B0\?"@-$N$"$k%3!<%I$r=q$-$?$$$N$J$i>e$N(B3 $B$D$N0c$$$rL5;k$9$k$3$H$,$G$-$k!#(B
            $B$3$l$i(B3 $B$D$NF0:n$N$I$l$K$bMj$i$J$$%3!<%I$r=q$3$&$H;W$&$@$m$&$+$i!#(B

            References:  [ANSI] Sec.  1.6, $BFC$K(BRationale $B$NBP1~$9$k$H$3$m(B

6        C $B%W%j%W%m%;%C%5(B

Q6.1:     $BFs$D$NCM$r8r49$9$k0lHLE*$J%^%/%m$O!#(B

A6.1:     $B$3$N<ALd$N0lHL2r$O$J$$!#$b$7$bCM$,@0?t$J$iM-L>$JGSB>O@M}OB$r;H$C$?%H%j%C(B
          $B%/$r;H$&$3$H$,$G$-$k!#(B $B$7$+$7!"(B $B$3$N%H%j%C%/$bIbF0>.?tE@?t$d%]%$%s%?$K$O(B
          $B;H$($J$$!#(B $B@0?t$N>l9g$bF10l$NJQ?t$rFs$D$N0z?t$H$7$F;XDj$9$k$3$H$O$G$-$J(B
          $B$$(B($B$^$?@0?t7?$N!HC/$G$b$o$+$k!I6KC<$K5M$a9~$s$@%3!<%I(Ba^=b^=a^=b $B$b!"(B $BI{(B
          $B:nMQ$,J#?t2s5/$3$k$3$H$K$h$j<B:]$K$OJ8K!0cH?$G$"$k!#(B Q4.1, Q4.2 $B$r;2>H$N(B
          $B$3$H(B)$B!#(B $B87L)$K$$$($P5vMF$G$-$J$$!#(B $B$b$7%^%/%m$rG$0U$N7?$NCM$K;H$$$?$$$J(B
          $B$i!"(B $B0l;~JQ?t$r;H$&$3$H$O$G$-$J$$!#(B $B$J$<$J$i!"(B $B$I$N7?$N0l;~JQ?t$,I,MW$+$o(B
          $B$+$i$J$$$+$i$G$"$k!#(B $BI8=`$N(BC $B$O(Btypeof $B1i;;;R$rMQ0U$7$F$$$J$$!#(B

          $B7?$rEO$9$?$a$KBh;0$N0z?t$rEO$9$N$,LLE]$J$i!"(B $B0lHV$NK|G=$N2r7hJ}K!$O!"(B $B%^(B
          $B%/%m$r;H$&$3$H$r9M$($J$$$3$H$@!#(B

Q6.2:     $B<1JL;R$r%^%/%m$r;H$C$F:n$j=P$9!"(B $B0J2<$N8E$$%3!<%I$r;H$C$F$$$?!#(B
          #define  Paste(a,  b)  a/**/b
          $B$G$b$b$&F0$+$J$/$J$C$F$7$^$C$?!#(B

A6.2:     $B%3%s%Q%$%k;~$K%3%a%s%H$O!"(B $B$^$k$C$-$j>C$($F$7$^$&!#(B $B$@$+$i=i4|$N%W%j%W%m(B
          $B%;%C%5$NCf$K$O!"(B $BM-L>$J$N$O(BReiser $B<R$N$b$N$@$,!"(B $BHs8x3+5!G=$H$7$F!"(B $B%H!<(B
          $B%/%s$rO"7k$9$k$N$K%3%a%s%H$r;H$&$3$H$,$G$-$k$b$N$,$"$C$?!#(B ANSI $B5,3J$O(B
          ($B5l(BK&R $B$HF1MM(B)$B!"(B $B%3%a%s%H$O6uGr$KCV$-49$($i$l$k$HL@8@$7$F$$$k!#(B $B$7$+$7!"(B
          $B%H!<%/%s$rO"7k$7$?$$$H$$$&MW5a$,=P$5$l!"(B $B$=$NMW5a$O8=<BLdBj$KB($7$?$b$N(B
          $B$G$"$C$?$+$i!"(B $B%H!<%/%s$rO"7k$9$k1i;;;R(B##$B$r(BANSI $B5,3J$OE,@Z$KDj5A$7$FF3(B
          $BF~$7$?!#(B ##$B$O0J2<$N$h$&$K;H$&$3$H$,$G$-$k(B(Q5.4 $B$b;2>H$N$3$H(B)$B!#(B
          #define  Paste(a,  b)  a##b
          Reference:  [ANSI] Sec.  3.8.3.3 p.  91, Rationale pp.  66-7.

Q6.3:     cpp $B$N%^%/%mDj5A$KJ#?t$NJ8(B(multi-statement) $B$r=q$/$K$O$I$&$9$l$P$h$$$+!#(B

A6.3:     $B$?$$$F$$L\I8$O!"(B $B4X?t$r8F$V$h$&$J46$8$G;H$($k%^%/%m$r=q$/$3$H$G$"$k!#(B $B$3(B
          $B$N$3$H$O;H$$<j$O:G8e$N%;%_%3%m%s$r<+J,$G=q$/$+$i!"(B $B%^%/%m$K$O%;%_%3%m%s(B
          $B$rIU$1$F$O$$$1$J$$$3$H$r0UL#$7$F$$$k!#(B $B%^%/%mK\BN$O!"(B $BC1$K%+%C%3(Bfg $B$G$/(B
          $B$/$C$?J#?t$NJ8(B(statement) $B$G$"$C$F$O$J$i$J$$!#(B $B$J$<$J$i%^%/%m$,(B($B0l$D$NJ8(B
          $B$H$7$F!"(B $B$+$DM>7W$J%;%_%3%m%s$rIU$1$F8F$P$l$?$H$-$K(B)$B!"(B else $B@a$r;}$D(Bif/else
          $BJ8$N(Bif $BJ8$K;H$o$l$?$H$-$KJ8K!%(%i!<$H$J$k!#(B

          $B@N$+$i$N2r7hJ}K!$O0J2<$K<($9$b$N$G$"$k!#(B

          #define  Func()  do  {  \
          /*  $B@k8@(B */  \
          stmt1;  \
          stmt2;  \
          /*    $B!D(B     */  \
          }  while(0)                  /*    $B8e$m$N(B; $B$OL5$7(B */

          $B;H$$<j$,%;%_%3%m%s$rIU$1$?$H$-$K!"(B $B>e5-$N%^%/%m$O$I$3$G;H$o$l$h$&$H0l$D(B
          $B$NJ8$H$J$k(B($B:GE,2=$r9T$&%3%s%Q%$%i$OI,$:56$K$J$k!H;`$s$@!I%F%9%H$dJ,4t$r(B
          $B<h$j5n$k$@$m$&!#(B $B$?$@$7(Blint $B$OJ86g$rIU$1$k$+$b$7$l$J$$(B)$B!#(B

          $B%^%/%m$NCf$N$9$Y$F$NJ8$,!"(B $B@k8@$b%k!<%W$b;}$?$J$$C1=c$J<0$J$i!"(B $B%+%C%3(B()
          $B$G$/$/$C$F%3%s%^$G6h@Z$C$?<0$r;H$&$3$H$,$G$-$k(B(Q6.10 $B$NNc$r;2>H$N$3$H!#(B
          $B$3$NJ}K!$r;H$($PCM$r!HJV$9!I$3$H$b$G$-$k(B)$B!#(B

          Reference:  [CT&P] Sec.  6.3 pp.  82-3.

Q6.4:     $B%X%C%@!<$,!"(B $BJL$N%X%C%@!<$r(B#include $B$9$k$3$H$OMFG'$5$l$F$$$k$N$+!#(B

A6.4:     $B$3$l$O=q$-J}$K4X$9$k<ALd$G$"$j!"(B $B$3$N<ALd$K4X$9$k5DO@$O@9$j>e$,$k!#(B $BB?$/(B
          $B$N?M$,!"(B $BF~$l;R$N(B#include $B$O;_$a$?$[$&$,$$$$$H?.$8$F$$$k!#(B $B8"0R$"$k%$%s(B
          $B%G%#%"%s%R%k%9%?%$%k%,%$%I(B(Q14.3 $B;2>H(B) $B$O!"(B $B0J2<$NM}M3$K$h$jF~$l;R$O$h$/(B
          $B$J$$$H$7$F$$$k!#(B $B4XO"$9$kDj5A$rA\$7$K$/$9$k!#(B $B%U%!%$%k$,Fs2s0J>e(B#include
          $B$5$l$k$HB?=E@k8@%(%i!<$H$J$k!#(B Makefile $B$NJ]<i$,LLE]$K$J$k!#(B

          $B0lJ}(B#include $B$rF~$l;R$K$9$k$H%X%C%@!<%U%!%$%k$r%b%8%e!<%kE*$K;H$&$3$H(B
          $B$,$G$-$k(B($B%X%C%@!<%U%!%$%k$,I,MW$J%U%!%$%k$r(B#include $B$9$k!#(B $B;H$$<j$O$$$A(B
          $B$$$A(B#include $B$7$F$^$o$i$J$/$F$9$`!#(B $B$$$A$$$A(B#include $B$7$F$^$o$k$N$O<j$K(B
          $BIi$($J$/$J$C$FF,DK$N<o$H$J$k(B)$B!#(B grep ($B$d%?%0%U%!%$%k$N$h$&$JF;6q(B) $B$O!"(B $BDj(B
          $B5A$,$I$3$K$"$k$N$+8+$D$1$k$N$rMF0W$K$9$k!#(B
          $BM-L>$J%H%j%C%/(B

          #ifndef  HEADER_FILE_NAME
          #define  HEADER_FILE_NAME
          $B!D%X%C%@!<%U%!%$%k$NCf?H!D(B
          #endif

          $B$O%X%C%@!<%U%!%$%k$N(B $B!V$Y$-Ey(B(A  A = A)$B!W(B $B$r2DG=$K$9$k(B($BFsEY0J>eFI$_9~$^(B
          $B$l$F$bLdBj$,H/@8$7$J$$(B)$B!#$3$&$9$l$P2?2s(B#include $B$7$F$bLdBj$J$$!#(BMakefile
          $B$rJ]<i$9$k$?$a$N<+F02=%D!<%k(B($B$I$C$A$K$7$F$b!"(B $B$3$N<j$N%D!<%k$O%W%m%8%'(B
          $B%/%H$,Bg$-$/$J$l$P@dBPI,MW$H$J$k(B) $B$O!"(B $BF~$l;R$K$J$C$?(B#include $B%U%!%$%k$N(B
          $B0MB84X78$r$&$^$/:n$j=P$9!#(B 14 $B@a$r;2>H$N$3$H!#(B

Q6.5:     #if $B$N$J$+$G(Bsizeof $B$O;H$($k$+!#(B

A6.5:     $B;H$($J$$!#(B $BA0=hM}$O%3%s%Q%$%k$NAa$$CJ3,$G!"(B $B$D$^$j%G!<%?7?$NL>A0$rJ,@O$9(B
          $B$kA0$G<B9T$5$l$k!#(B $BMxMQ2DG=$J$i(BANSI $B$N(B<limits.h>$BFb$K$"$i$+$8$aDj5A$5$l(B
          $B$?Dj?t$r;H$&$+!"(B $B!H(Bconfigure$B!I%9%/%j%W%H$r;H$&$3$H(B($B$b$C$H$$$$$N$O%G!<%?7?(B
          $B$NBg$-$5$K0MB8$7$J$$$h$&$J%3!<%I$r=q$/$3$H$G$"$k(B)$B!#(B

          References:  [ANSI] Sec.  2.1.1.2 pp.  6-7, Sec.  3.8.1 p.  87 footnote 83.

Q6.6:     $B%W%j%W%m%;%C%5$N(B#if $B$r;H$C$F!"(B $B%^%7%s$,%S%C%0%(%s%G%#%"%s$+%j%H%k%(%s%G%#(B
          $B%"%s$+$rCN$k$3$H$,$G$-$k$+!#(B

A6.6:     $B$?$V$s$G$-$J$$(B($B%W%j%W%m%;%C%5$G$N1i;;$O$9$Y$F(Blong $B$G9T$o$l!"(B $B$=$3$K$O%"(B
          $B%I%l%9$N35G0$O$J$$(B)$B!#(B $BK\Ev$K%^%7%s$N%(%s%G%#%"%s$rL@<(E*$KCN$j$?$$$N$+!#(B
          $B%(%s%G%#%"%s$r5$$K$7$J$$%3!<%I$r=q$/$[$&$,$h$$!#(B

Q6.7:     $B%3%s%Q%$%k;~$K!H9KEO$j$J!I=hM}$r$7$?$$$,!"(B $B$I$&$d$C$F(Bcpp $B$K$d$i$;$?$i$h(B
          $B$$$+$o$+$i$J$$!#(B

A6.7:     cpp $B$OHFMQ$N%W%j%W%m%;%C%5$H$7$F$O:n$i$l$F$$$J$$!#(B $BIT;w9g$$$J$3$H$r(Bcpp
          $B$K$5$;$k$h$j$O!"(B $BFCJL$JMQES$N$?$a$NA0=hM}$r9T$&%D!<%k$r<+J,$G:n$C$?$[$&(B
          $B$,$h$$!#(B make(1) $B$N$h$&$JF;6q$r;H$($P!"(B $B<+F0E*$K;E;v$r$5$;$k$3$H$,$G$-$k!#(B

          $B$b$7(BC $B8@8l0J30$N$b$N$rA0=hM}$9$k$3$H$r9M$($F$$$k$N$G$"$l$P!"(B (m4 $B$N$h$&(B
          $B$J(B) $BHFMQ$N%W%j%W%m%;%C%5$r;H$&$3$H$r9M$($k$3$H!#(B

Q6.8:     $B$3$s$I2!$7IU$1$i$l$?%3!<%I$O(B#ifdef $B$@$i$1$G;d$N<qL#$K$"$o$J$$!#(B $B$3$N%3!<(B
          $B%I$r>r7o%3%s%Q%$%k$N0lAH$@$1;D$7$F!"(B cpp $B$rDL$9$3$H$J$/!"(B $B$+$D(B#include $B$d(B
          #define $B$OE83+$7$J$$$GA0=hM}$9$kJ}K!$,$"$k$+!#(B

A6.8:     $B@$$NCf$K$O(Bunifdef$B!"(B rmifdef$B!"(B scpp $B$H$$$&%W%m%0%i%`$,=P$^$o$C$F$$$F!"(B $B$3$l(B
          $B$,$^$5$K>e$K=q$+$l$F$$$k5!G=$r;}$D(B(Q17.12 $B$r;2>H$N$3$H(B)$B!#(B

Q6.9:     $B$"$i$+$8$aDj5A$5$l$?(B(__DATE__$B$d(B__TIME__$B$N$h$&$J(B) $B%^%/%m$N0lMw$rF@$k$K(B
          $B$O$I$&$9$l$P$h$$$+!#(B

A6.9:     $B2?EY$bI,MW$K$J$k$K$b$+$+$o$i$:I8=`$NJ}K!$H$$$&$N$OB8:_$7$J$$!#(B $B%3%s%Q%$(B
          $B%iImB0$N;qNA$,Lr$KN)$?$J$$$J$i!"(B $B0lHVL\E*$K$+$J$C$?J}K!$O!"(B $B$?$V$s(BUNIX
          $B$N(Bstrings(1) $B$+$J$s$+$r;H$C$F!"(B $B%3%s%Q%$%i$d%W%j%W%m%;%C%5$N<B9T%U%!%$%k(B
          $B$+$iJ8;zNs$r=&$$$@$9$3$H$G$"$m$&!#(B $B=>Mh$N!"(B $B%7%9%F%`$4$H$GM=$a(B#define $B$5(B
          $B$l$?<1JL;R(B($BNc(B:unix) $B$O!"(B $B5,3J0cH?$G$"$k$+$i(B($B$3$l$i$N<1JL;R$O%f!<%6!<$NL>(B
          $BA06u4V(B(name space) $B$H>WFM$9$k(B)$B!"(B $B:o=|$5$l$?$jL>A0$rJQ99$5$l$?$3$H$KCm0U(B
          $B$9$k$3$H!#(B

Q6.10:      $B2DJQ8D$N0z?t$r<h$k(Bcpp $B$N%^%/%m$r$I$&$d$C$F=q$1$P$h$$$+!#(B

A6.10:      $BM-L>$J%H%j%C%/$O0z?t$r0l$D<h$k%^%/%m$rDj5A$7$F!"(B $B;H$&$H$-$K$O0z?t$r$+$C(B
            $B$3$GFs=E$K$/$/$k!#(B $B$=$&$9$l$P%W%j%W%m%;%C%5$K$O0z?t$,0l$D$K8+$($k!#(B

            #define  DEBUG(args)  (printf("DEBUG:  "),  printf  args)
            if  (n  !=  0)  DEBUG(("n  is  %d\n",  n));

            $BL@$i$+$J7gE@$O!"(B $B;H$$<j$,M>7W$J%+%C%3$rIU$1$k$3$H$r3P$($F$*$+$J$1$l$P(B
            $B$J$i$J$$$3$H$G$"$k!#(B $BJL$NJ}K!$O!"(B $B0z?t$N?t$K1~$8$FJL$N%^%/%m(B(DEBUG1$B!"(B
            DEBUG2 $B$J$I(B) $B$rMQ0U$9$k$3$H$d!"(B $B0J2<$N$h$&$K%3%s%^$r;H$&$3$H$G$"$k!#(B

            #define  DEBUG(args)  (printf("DEBUG:  "),  printf(args))
            #define  _  ,
            DEBUG("i  =  %d" _ i)

            $B$=$l$h$j$ODj5A$NL@3N$J2DJQ8D$N0z?t$r<h$kFC@=$N4X?t$r:n$k$[$&$,$h$$!#(B $B2<(B
            $B$N(BQ7.1$B!"(B 7.2 $B$r;2>H$N$3$H!#(B

7        $B2DJQ8D?t$N0z?t%j%9%H(B

Q7.1:     $B2DJQ8D$N0z?t$r<h$k4X?t$r$I$&$d$C$F=q$1$P$h$$$+!#(B

A7.1:     <stdarg.h>$B$r(B($BI,MW$J$i8E$$(B<varargs.h>$B$r(B) $B;H$&$3$H!#(B
          $B0J2<$O(Bmalloc $B$5$l$?5-21NN0h$KG$0U8D$NJ8;zNs$rO"7k$7$F3JG<$9$k4X?t$G$"$k!#(B

          #include  <stdlib.h>                       /*  for  malloc,  NULL,  size_t  */
          #include  <stdarg.h>                       /*  for  va_stuff  */
          #include  <string.h>                       /*  for  strcat  et  al  */
          char  *vstrcat(char  *first,  ...)
          {
 size_t  len  =  0;
 char  *retbuf;
 va_list  argp;
 char  *p;
 if(first  ==  NULL)
return  NULL;
 len  =  strlen(first);
 va_start(argp,  first);
 while((p  =  va_arg(argp,  char*))  !=  NULL)
len  +=  strlen(p);
 va_end(argp);
 retbuf  =  malloc(len  +  1);      /*  +1  $B$O8e$m$N(B \0 $BMQ(B */
 if(retbuf  ==  NULL)
return  NULL;                     /*  error  */
 (void)strcpy(retbuf,  first);
 va_start(argp,  first);
 while((p  =  va_arg(argp,  char  *))  !=  NULL)

                 (void)strcat(retbuf,  p);
                 va_end(argp);
                 return  retbuf;
          }

          $B;H$$J}$O0J2<$N$h$&$K$J$k!#(B

          char  *str  =  vstrvat("Hello,  ",  "world!",  (char  *)NULL);

          $B:G8e$N0z?t$r%-%c%9%H$9$kI,MW$,$"$k$3$H$KCm0U(B($B;H$&?M$,!"(B $BJV$5$l$?(Bmalloc
          $B$5$l$?NN0h$r2rJ|$9$kI,MW$,$"$k$3$H$K$bCm0U(B)$B!#(B

          ANSI  $B5,3J0JA0$K3+H/$5$l$?%3%s%Q%$%i$r;H$&$H$-$O!"(B $B$^$:4X?tDj5A$r%W%m(B
          $B%H%?%$%W$J$7$K=q$-49$((B($B!H(Bchar  *vstrcat(first)  char *first;  {$B!I(B)$B!"(B $B<!$K(B
          <stdlib.h>$B$NBe$o$j$K(B<stdio.h>$B$r%$%s%/%k!<%I$7$F!"!H(Bextern  char  malloc();
          $B!I$rDI2C$9$k!#(B $B$^$?(Bsize_t $B$NBe$j$K(Bint $B$r;H$&!#(B (void) $B$N%-%c%9%H$r<h$j=|(B
          $B$$$?$j!"(B stdarg $B$G$O$J$/8E$$(Bvagrgs $B$N%Q%C%1!<%8$r;H$o$J$1$l$P$J$i$J$$$+$b(B
          $B$7$l$J$$!#(B $B<!$N<ALd$+$i%R%s%H$rF@$k$3$H!#(B

          $B4X?t%W%m%H%?%$%W$O!"2DJQ8D$N0z?t$r07$&>l9g$K$O0z?t$N%G!<%?7?$N>pJs$r;}$C(B
          $B$F$$$J$$!#(B $B$h$C$F%G%U%)%k%H$N0z?t$N3J>e$2$,E,1~$5$l$k(B(Q5.8 $B;2>H(B)$B!#(B $B$^$?(B
          $B%L%k%]%$%s%?$r0z?t$H$7$FM?$($k>l9g$OL@<(E*$K7?$r;XDj$7$J$1$l$P$J$i$J$$(B
          (Q1.2 $B;2>H(B)$B!#(B

          References:  [K&R II]  Sec.  7.3  p.  155,  Sec.  B7  p.  254;  [H&S]  Sec.  13.4  pp.
          286-9; [ANSI] Secs.  4.8 through 4.8.1.3 .

Q7.2:     printf $B$N$h$&$K%U%)!<%^%C%HJ8;zNs$H2DJQ8D$N0z?t$r$b$i$C$F!"0z?t$r(Bprintf
          $B$KEO$7$F!"(B $B;E;v$N$[$H$s$I(Bprintf $B$K$d$i$;$k$h$&$J4X?t$r!"(B $B$I$&$d$C$F=q$1$P(B
          $B$h$$$N$+!#(B

A7.2:     vprintf $B$+(Bvfprintf $B$+(Bvsprintf $B$r;H$(!#(B
            $B!V(Berror:  $B!W(B $B$H$$$&J8;zNs$r@hF,$K%(%i!<%a%C%;!<%8$r=PNO$7!"(B $B2~9T$G=*$o$k(B
          $B!H%(%i!<!I%k!<%A%s$r0J2<$K<($9!#(B

          #include  <stdio.h>
          #include  <stdarg.h>
          void

          error(char  *fmt,  ...)
          {
                 va_list  argp;
                 fprintf(stderr,  "error:  ");
                 va_start(argp,  fmt);
                 vfprintf(stderr,  fmt,  argp);
                 va_end(argp);
                 fprintf(stderr,  "\n");
          }

          $B8E$$(B<varargs.h>$B%Q%C%1!<%8$r(B<stdarg.h>$B$NBe$j$K;H$&$H$-$O4X?t%X%C%@!<$r!"(B

          void  error(va_list)
          va_dcl
          {
                 char  *fmt;

          $B$KJQ99$7!"(B $B0J2<$N9T$r!"(B

          fmt  =  va_arg(argp,  char  *);

          va_start $B$N9T$H(Bvfprintf $B$N9T$NA0$KA^F~$9$k(B(va_dcl $B$N8e$m$K$O%;%_%3%m%s(B
          $B$rIU$1$J$$$3$H$KCm0U(B)$B!#(B

          References:  [K&R II]  Sec.  8.3  p.  174,  Sec.  B1.2  p.  245;  [H&S]  Sec.  17.12  p.
          337; [ANSI] Secs.  4.9.6.7, 4.9.6.8, 4.9.6.9 .

Q7.3:     $B4X?t$,!"(B $B<B:]$K$$$/$D0z?t$rEO$5$l$?$+CN$kJ}K!$O$"$k$+!#(B

A7.3:     $B$3$N>pJs$O!"(B $B0\?"@-$N9b$$%W%m%0%i%`$K$O;H$($J$$!#(B $B8E$$%7%9%F%`$K$O!"(B $BI8=`(B
          $B$G$O$J$$(Bnargs() $B4X?t$r;}$D$b$N$b$"$k$,!"(B $B$3$N4X?t$,Lr$K$?$D$+$OI,$:5?$C(B
          $B$?$[$&$,$$$$!#(B $B$3$N4X?t$O!"(B $B$?$$$F$$0z?t$N?t$G$O$J$/%o!<%I?t$rJV$9(B($B9=B$(B
          $BBN$HIbF0>.?tE@?t$O$?$$$F$$!"(B $B$$$/$D$+$N%o!<%I$H$7$FEO$5$l$k(B)$B!#(B

          $B2DJQ8D$N0z?t$r<h$k4X?t$O!"(B $B0z?t$=$N$b$N$+$i0z?t$N?t$rH=CG$G$-$k$h$&$K:n(B
          $B$i$J$1$l$P$J$i$J$$!#(B printf $B$NN`$O!"(B $B%U%)!<%^%C%H<1JL;R(B(%d $B$NN`(B) $B$r%U%)!<(B
          $B%^%C%HJ8;zNs$+$iA\$7$F0z?t$N?t$rH=CG$9$k(B($B$@$+$i$3$N<j$N4X?t$O%U%)!<%^%C(B
          $B%HJ8;zNs$,0z?t$H0lCW$7$F$$$J$$$H$*$+$7$JF0:n$r$9$k(B)$B!#(B $B$h$/;H$&JL$N<j$H$7(B
          $B$F$O(B($B0z?t$,$9$Y$FF1$87?$N$H$-$KJXMx$G$"$k(B)$B!"(B $BHVJ<(B(0$B!"(B -1 $B$^$?$OE,Ev$J7?$K(B
          $B%-%c%9%H$7$?%L%k%]%$%s%?(B) $B$r%j%9%H$N:G8e$KCV$/$H$$$&$b$N$G$"$k(B(Q1.2 $B$H(B
          Q7.1 $B$N(Bexecl $B$H(Bvstrcat $B$NNc$r;2>H(B)$B!#(B

Q7.4:     va_arg $B%^%/%m$r;H$C$?$,!"(B $B4X?t$X$N%]%$%s%?$N%G!<%?7?$r;}$D0z?t$r<h$j=P$9(B
          $B$3$H$,$G$-$J$$!#(B

A7.4:     va_arg $B%^%/%m$r;H$&$3$H$K$h$k%G!<%?7?$N=q$-49$($O!"(B $B4X?t$X$N%]%$%s%?$J(B
          $B$I$N6KC<$KJ#;($J%G!<%?7?$rAj<j$K$9$k$H:$Fq$H$J$k!#(B $B$7$+$7!"(B $B4X?t$X$N%]%$(B
          $B%s%?7?$K(Btypedef $B$r;H$($P!"(B $B$9$Y$F$&$^$/$$$/$@$m$&!#(B

          References:  [ANSI] Sec.  4.8.1.2 p.  124.

Q7.5:     $B2DJQ8D$N0z?t$r;}$A!"(B $B$=$N0z?t$rJL$N4X?t(B($B$=$N4X?t$b2DJQ8D$N0z$-?t$r<h$k(B)
          $B$KEO$94X?t$r$I$&$d$C$F5-=R$9$l$P$h$$$+!#(B

A7.5:     $B0lHLE*$K$O$G$-$J$$!#(B $B>e$NNc$N(Bvprintf $B$N$h$&$J(Bva_list $B%]%$%s%?$r<u$1IU$1(B
          $B$k4X?t$rMQ0U$7$J$1$l$P$J$i$J$$!#(B $B$b$70z?t$r(B(va_list $B%]%$%s%?$r;H$C$F4V(B
          $B@\E*$K$G$O$J$/(B) $BD>@\$K!"(B $B2DJQ8D$N0z?t$r<h$k4X?t$KEO$5$J$1$l$P$J$i$J$$$J(B
          $B$i(B($BEO$5$l$kB&$N4X?t$K$D$$$F$bJL$N(Bva_list $B$r<u$1IU$1$k4X?t$rMQ0U$G$-$J(B
          $B$+$C$?$H$7$F(B)$B!"(B $B0\?"@-$N9b$$2r7h0F$OB8:_$7$J$$(B($B$3$NLdBj$O%^%7%s8GM-$N%"(B
          $B%;%s%V%i8@8l$r;H$($P2r7h$G$-$k(B)$B!#(B

Q7.6:     $B<B9T;~$K!"(B $B0z?t%j%9%H$r$D$/$C$F4X?t$r8F$S=P$9$3$H$,$G$-$k$+!#(B

A7.6:     $BF0$/$3$H$,J]>Z$5$l$kJ}K!$b0\?"@-$N9b$$J}K!$b$J$$!#(B $B6=L#$,$"$k$N$J$i$3$N(B
          FAQ $B$NJT<T(B5$B$KJ9$$$F$_$k$3$H!#(B $BH`$O%X%s%F%3%j%s$J%"%$%G%"$r$$$/$D$+;}$C(B
          $B$F$$$k(B(Q16.11 $B$b;2>H$N$3$H(B)$B!#(B
__________________________________________________________________________________
          $BLuCm(B:  $B$b$A$m$s(BSteve Summit scs@eskimo.com $B$r;X$9!#(B

8        $B%V!<%k?t$HJQ?t(B

Q8.1:     $B%V!<%kCM$r(BC $B8@8l$G07$&$N$KE,@Z$J%G!<%?7?$O(B?  $B$J$<%V!<%kCM$r07$&%G!<%?7?(B
          $B$,!"(B $BI8=`$GMQ0U$5$l$F$$$J$$$N$+!#(B $B??$H56$r$"$i$o$9$N$K!"(B #define $B$r;H$&$Y(B
          $B$-$+Ns5s7?$r;H$&$Y$-$+!#(B

A8.1:     C $B8@8l$O%V!<%k7?$rI8=`$G$OMQ0U$7$F$$$J$$!#(B $B%V!<%k7?$H$7$F!"(B $B%G!<%?7?$rA*(B
          $B$V$3$H$O6u4V$H;~4V$N$I$C$A$r<h$k$+$H4X78$,$"$k!#(B $B$3$N$h$&$JA*Br$O%W%m%0(B
          $B%i%^$K$^$+$;$k$N$,0lHV$G$"$k(B(int $B$r%V!<%k7?$KA*$Y$PB.$$$@$m$&$7!"(B char
          $B$r%V!<%k7?$KA*$Y$P%G!<%?$NJ]B8NN0h$N@aLs$K$J$k(B)$B!#(B

          #define $B$r;H$&$+Ns5s7?$r;H$&$+$O$I$C$A$G$b$$$$$3$H$G!"(B $B$H$/$K6=L#$r0z$/(B
          $B$h$&$J$3$H$O$J$$(B(Q9.1 $B$r;2>H$N$3$H(B)$B!#(B $B%W%m%0%i%`$d%W%m%8%'%/%H$G<sHx0l4S(B
          $B$7$F$$$k8B$j!"(B $B0J2<$N$I$l$r;H$C$F$b$+$^$o$J$$(B

          #define  TRUE  1                       #define  YES  1
          #define  FALSE  0                     #define  NO  0
          enum  bool  {false,  true};      enum  bool  {no,  yes};

          $B$"$k$$$O@8$N(B1 $B$H(B0 $B$r;H$&$N$b$$$$(B($BJQ?t$NCM$rD4$Y$k$H$-$KNs5s7?$NCM$rE8(B
          $B3+$7$F$/$l$k$h$&$J%G%P%C%,!<$r;H$C$F$$$k$N$G$"$l$P!"(B $BNs5s7?$N$[$&$,$$$$(B
          $B$+$b$7$l$J$$(B)$B!#(B

          $B0J2<$N$h$&$JJQ7A$r9%$`?M$b$$$k!#(B

          #define  TRUE  (1==1)
          #define  FALSE  (!TRUE)

          $B$"$k$$$O!HJd=u$N!I%^%/%m!"(B $BNc$($P(B

          #define  istrue(e)  ((e)  !=  0)

          $B$rDj5A$9$k?M$b$$$k!#(B $B$I$A$i$K$7$F$bBg$7$?8z2L$O$J$$(B($B0J2<$N(BQ8.2 $B$r;2>H!#(B
          $B$^$?(BQ1.6 $B$b;2>H$N$3$H(B)$B!#(B

Q8.2:     TRUE $B$r(B1 $B$K(B#define $B$9$k$3$H$O4m81$G$O$J$$$N$+!#(B $B$J$<$J$i!"(B C $B8@8l$G$O(B0
          $B$G$J$$CM$O$9$Y$F!H??!I$H9M$($i$l$k$+$i!#(B $B%V!<%kCM$rJV$9AH$_9~$_$N1i;;;R(B
          $B$d4X781i;;;R$,(B1 $B0J30$NCM$rJV$7$?$i$I$&$9$k$N$+!#(B

A8.2:     C $B8@8l$G$O!"(B $B$I$s$JHs(B0 $B$NCM$b??$H9M$($i$l$k$3$H$O(B($B5$J,$N0-$$$3$H$@$1$I(B)
          $B??<B$G$"$k!#(B $B$7$+$7$3$N$3$H$O(B $B!VF~NO$K$*$$$F$N$_!W!"(B $B$9$J$o$A%V!<%kCM$,$/$k(B
          $B$3$H$r4|BT$5$l$F$$$k$H$3$m$G$@$1$J$j$?$D!#(B $BAH$_9~$_$N1i;;;R$K$h$C$F%V!<(B
          $B%kCM$,;:$_=P$5$l$k$H$-$O!"(B1 $B$+(B0 $B$G$"$k$3$H$,J]>Z$5$l$F$$$k!#$h$C$F%F%9%H(B

          if  ((a  ==  b)  ==  TRUE)

          $B$O(B(TRUE $B$,(B1 $B$G$"$k$+$.$j(B) $B4|BT$7$?$H$*$j$N7k2L$rJV$9!#(B $B$7$+$7%P%+$2$?$3(B
          $B$H$G$"$k!#0lHL$K(BTRUE $B$d(BFALSE $B$rAj<j$KL@<(E*$K%F%9%H$9$k$3$H$OK>$^$7$/(B
          $B$J$$!#$J$<$J$i%i%$%V%i%j4X?t$NCf$K$O(B($BM-L>$J$N$O(Bisupper$B!"(Bisalpha $B$J$I(B) $B>r(B
          $B7o$,@.N)$7$?$H$-$KHs(B0 $B$NCM$rJV$9$,!"$=$NCM$OI,$:$7$b(B1 $B$G$O$J$$$b$N$,$"$k(B
          ($B$5$i$K!"(B $B$b$77/$,(Bif((a  ==  b)  ==  TRUE) $B$r(Bif(a  ==  b) $B$N2~NIHG$G$"$k$H?.(B
          $B$8$k$N$J$i!"$J$<$=$3$G;_$a$k$N$+!#$J$<(Bif  (((a  ==  b)  ==  TRUE)  ==  TRUE)
          $B$r;H$o$J$$$N$+(B)$B!#(B $B$*$*$^$+$JL\0B$H$7$F!"(B TRUE $B$H(BFALSE $B$O(B($B$"$k$$$O;w$?(B
          $BJ*$r(B) $B%V!<%kCM$r$"$i$o$9JQ?t$KBeF~$9$k:]$d!"(B $B4X?t$N0z?t!"(B $B%V!<%kCM$rJV$9(B
          $B4X?t$NLa$jCM$H$7$F$@$1;H$&$3$H!#(B $B$1$C$7$FHf3S$K;H$C$F$O$$$1$J$$!#(B

          $B%W%j%W%m%;%C%5$N%^%/%m$N(BTRUE $B$d(BFALSE $B$O%3!<%I$N2DFI@-$r>e$2$k$N$K;H(B
          $B$&$N$G$"$C$F!"(B $BI=$9CM$,JQ$o$k2DG=@-$,$"$k$+$i;H$&$N$G$O$J$$(B(Q1.7 $B$H(BQ1.9
          $B$r;2>H$N$3$H(B)$B!#(B

          References:  [K&R I]  Sec.  2.7  p.  41;  [K&R II]  Sec.  2.6  p.  42,  Sec.  A7.4.7  p.
          204, Sec.  A7.9 p.  206; [ANSI] Secs.  3.3.3.3, 3.3.8, 3.3.9, 3.3.13, 3.3.14, 3.3.15,
          3.6.4.1, 3.6.5; $B%"%-%l%9$H55(B

9        $B9=B$BN!"(B  $BNs5s7?!"(B  $B6&MQBN(B

Q9.1:     $B%W%j%W%m%;%C%5$G(B#define $B$rJ#?t;H$&$3$H$H%3%s%Q%$%i$GNs5s7?$r;H$&$3$H$N(B
          $B0c$$$O!#(B

A9.1:     $B8=>u$G$O$[$H$s$I0c$$$O$J$$!#(B $BB?$/$N?M$,K>$s$@J}8~$H$OH?BP$K!"(B ANSI $B5,3J(B
          $B$O!"Ns5s7?$H@0?t7?$r:.9g$7$F;H$C$F$bLdBj$J$$$H=R$Y$F$$$k(B($B$b$7$=$N$h$&$J(B
          $B:.9g$,L@<(E*$J%-%c%9%H$J$7$K$O;H$($J$$$H$7$?$i!"(B $B$h$/9M$($F;H$o$l$?Ns5s(B
          $B7?$K$h$j!"(B $B$"$k<o$N%W%m%0%i%_%s%0$N8m$j$rB*$($k$3$H$,$G$-$k$N$G$"$k$,(B)$B!#(B

          $BNs5s7?$N<g$JMxE@$H$7$F$OCM$,<+F0E*$KM?$($i$l$k$3$H$H!"(B $B%G%P%C%,!<$r;H$C(B
          $B$FNs5s7?$NCM$rD4$Y$k$H$-$K%G%P%C%,!<$,%7%s%\%j%C%/$JCM$rI=<($7$F$/$l$k(B
          $B$+$b$7$l$J$$$H$$$&$3$H!"(B $B$^$?Ns5sBN$,%V%m%C%/$N%9%3!<%W$r;}$D$3$H$,5s$2(B
          $B$i$l$k(B($B%3%s%Q%$%i$O!"(B $BNs5s7?$H@0?t7?$r:.9g$7$F;H$o$l$?;~$K!"(B $BCWL?E*$G$O(B
          $B$J$$7Y9p$r=P$9$+$b$7$l$J$$!#(B $BNs5s7?$H@0?t7?$r:.$<$F;H$&$3$H$O!"(B $B87L)$K$$(B
          $B$($PJ8K!0cH?$G$O$J$$$1$l$I!"(B $B$h$/$J$$:nK!$H9M$($i$l$k$+$i$G$"$k(B)$B!#(B $B7gE@$H(B
          $B$7$F$O%W%m%0%i%^$,%G!<%?$NBg$-$5$r(B($B$5$C$-$NCWL?E*$G$J$$7Y9p$K$D$$$F$b(B)
          $B$[$H$s$I@)8f$G$-$J$$$3$H$,5s$2$i$l$k!#(B

          References:  [K&R II] Sec.  2.3 p.  39, Sec.  A4.2 p.  196; [H&S] Sec.  5.5 p.  100;
          [ANSI] Secs.  3.1.2.5, 3.5.2, 3.5.2.2 .

Q9.2:     $B9=B$BN$r!"(B $BJQ?t$KBeF~$9$k$3$H$b!"(B $B4X?t$K0z?t$H$7$FEO$9$3$H$b!"(B $B4X?t$NLa$j(B
          $BCM$H$7$F$b;H$&$3$H$b$G$-$k$HJ9$$$?!#(B $B$1$l$I8E$$(BK&R $B$K$O5-=R$,$J$$!#(B

A9.2:     K&R $B=iHG$K$O!"(B $B9=B$BN$X$N1i;;$N@)8B$O>-Mh$N%3%s%Q%$%i$G$O<h$j=|$+$l$k(B
          $B$@$m$&$H$"$k!#(B $B<B:](BK&R $B$N=iHG$,H/9T$5$l$?$3$m$N(BDennis Ritchie $B$N%3%s%Q(B
          $B%$%i$K$O!"(B $B9=B$BN$NBeF~$b9=B$BN$N0z?tEO$7$bMQ0U$5$l$F$$$?!#(B $B=i4|$N(BC $B%3%s(B
          $B%Q%$%i$NCf$K$OBP1~$7$F$$$J$$$b$N$bB8:_$7$?$,!"(B $B8=:_$N%3%s%Q%$%i$O$9$Y$F(B
          $BBP1~$7$F$$$k$7!"(B ANSI C $B5,3J$N0lIt$G$b$"$k!#(B $B$h$C$F;H$&$3$H$r$?$a$i$&$3(B
          $B$H$O$J$$!#(B

          References:  [K&R I]  Sec.   6.2  p.   121;  [K&R II]  Sec.   6.2  p.   129;  [H&S]  Sec.
          5.6.2 p.  103; [ANSI] Secs.  3.1.2.5, 3.2.2.1, 3.3.16 .

Q9.3:     $B$I$s$J;EAH$_$G9=B$BN$r0z?t$GEO$7$?$j!"(B $B4X?t$NLa$jCM$K;H$&$3$H$,$G$-$k(B
          $B$N$+!#(B

A9.3:     $B9=B$BN$,4X?t$N0z?t$H$7$FEO$5$l$k$H$-!"(B $B9=B$BNA4BN$,!"(B $B%9%?%C%/$KI,MW$J$@(B
          $B$1$N%o!<%I$r;H$C$F@Q$^$l$k(B($B%W%m%0%i%^$O!"(B $B$3$N%*!<%P!<%X%C%I$r7y$C$F$+(B
          $B$o$j$K9=B$BN$X$N%]%$%s%?$r$h$/;H$&(B)$B!#(B

          $B9=B$BN$O%3%s%Q%$%i$,MQ0U$9$kNN0h$KCV$+$l$F4X?t$+$iJV$C$F$/$k$N$,0lHLE*(B
          $B$G$"$k!#(B $B%3%s%Q%$%i$O!"(B $B$3$NNN0h$N%"%I%l%9$r!"(B $BFCJL$J!H1#$l$?!I0z?t$H$7$F!"(B
          $B8F$P$l$kB&$N4X?t$KEO$9!#(B $B8E$$%3%s%Q%$%i$NCf$K$O!"(B $B9=B$BN$rJV$9$N$KFCJL$J(B
          static $B$NNN0h$r;H$&$b$N$b$"$k!#(B $B$3$l$O4X?t$r:FF~(B($B%j%(%s%H%i%s%H(B) $BIT2D$K$9(B
          $B$k$N$G!"(B ANSI C $B$O6X;_$7$F$$$k!#(B

          Reference:  [ANSI] Sec.  2.2.3 p.  13.

Q9.4:     $B0J2<$N4X?t$O@5$7$$7k2L$r=PNO$9$k$1$l$I=*N;$7$?;~E@$G(Bcore $B$rEG$/!#$J$<$+!#(B

          struct  list
          {
                 char  *item;
                 struct  list  *next;
          }
          /*  $B$3$3$+$i(Bmain $B%W%m%0%i%`$,;O$^$k(B */
          main(argc,  argv)
          ...

A9.4:     $B%;%_%3%m%s$,H4$1$?$3$H$,!"(B $B4X?t(Bmain $B$O9=B$BN$rJV$9$H%3%s%Q%$%i$K;W$$$3(B
          $B$^$;$F$7$^$C$?(B($B4V$KF~$C$?%3%a%s%H$,!"(B $B9=B$BN$H(Bmain $B$,7k$SIU$$$F$$$k$3(B
          $B$H$r$o$+$j$K$/$/$7$F$$$k(B)$B!#(B $B9=B$BN$rLa$jCM$H$7$F;}$D4X?t$O!"(B $B$?$$$F$$La$j(B
          $BCM$N1#$l$?%]%$%s%?$r;}$D$h$&$K<BAu$5$l$k$N$G!"(B main() $B$KBP$7$F@8@.$5$l$?(B
          $B%3!<%I$O(B3 $B$D$N0z?t$r<h$m$&$H$9$k!#(B $B$3$N$&$A(B2 $B$D$,EO$5$l$k(B($B$3$N>l9g$O!"(B C
          $B8@8l$N%9%?!<%H%"%C%W$N%3!<%I$K$h$C$F(B)$B!#(B Q17.15 $B$r;2>H$N$3$H!#(B

Q9.5:     $B$J$<9=B$BN$rHf3S$9$k$3$H$O$G$-$J$$$N$+!#(B

A9.5:     $B9=B$BN$NHf3S$r!"(B $BDc%l%Y%k$NA`:n$b$G$-$k$H$$$&(BC $B8@8l$NL#$o$$$KL7=b$9$k$3(B
          $B$H$J$/!"(B $B%3%s%Q%$%i$K$d$i$;$k6ZF;$NDL$C$?J}K!$O$J$$!#(B $B%P%$%HC10L$NHf3S$O!"(B
          $B9=B$BN$NCf$N;H$o$l$F$$$J$$!H7j!I(B($B$3$N$h$&$JKd$aAp$O!"(B $B8e$m$N%U%#!<%k%I$N(B
          $BG[CV$,@5$7$/$J$k$h$&$K;H$o$l$k(B) $B$,$"$k$3$H$r9M$($k$H;H$($J$$!#(B $B%U%#!<%k(B
          $B%IC10L$NHf3S$O!"(B $BBg$-$J9=B$BN$,BP>]$N$H$-$K!"(B $B$H$s$G$b$J$$NL$N$/$jJV$7$N(B
          $B%$%s%i%$%s$N%3!<%I$rI,MW$H$9$k!#(B

          $BFs$D$N9=B$BN$rHf3S$7$?$$$N$J$i!"(B $B<+J,<+?H$G4X?t$r=q$+$J$1$l$P$J$i$J$$!#(B
          C++$B$r;H$($P!"(B ==$B1i;;;R$K<+J,$GDj5A$7$?4X?t$r3d$jEv$F$k$3$H$,$G$-$k!#(B

          References:  [K&R II] Sec.  6.2 p.  129; [H&S] Sec.  5.6.2
          p.  103; [ANSI] Rationale Sec.  3.3.9 p.  47.

Q9.6:     $B9=B$BN$r%G!<%?%U%!%$%k$+$iFI$`!"(B $B$"$k$$$O%G!<%?%U%!%$%k$K=q$-9~$`$N$O$I(B
          $B$&$9$l$P$h$$$+!#(B

A9.6:     fwrite $B$r;H$C$F9=B$BN$r%G!<%?%U%!%$%k$K=q$-9~$`$N$O$=$s$J$KFq$7$/$J$$!#(B

          fwrite((char  *)&somestruct,  sizeof(somestruct),  1,  fp);

          $B$3$l$KBP1~$9$k(Bfread $B$r;H$($PFI$_JV$9$3$H$,$G$-$k!#$7$+$7!"$3$&$d$C$F=q$-(B
          $B9~$s$@%G!<%?%U%!%$%k$O!"(B $B$?$$$7$F0\?"@-$,9b$$$o$1$G$O$J$$(B(Q9.11 $B$H(BQ17.3
          $B$r;2>H$N$3$H(B)$B!#(B $B%U%!%$%k$r3+$/$H$-$KB?$/$N%7%9%F%`$G(B $B!V(Bb$B!W(B $B%U%i%0$,I,MW$J(B
          $B$3$H$K$bCm0U$9$k$3$H!#(B

Q9.7:     $BG[Ns(Bname $B$,J#?t$NMWAG$r;}$D$h$&$K?6$kIq$o$;$k$?$a$K9=B$BN$r0J2<$N$h$&(B
          $B$K@k8@$7$F!"(B $B%H%j%C%-!<$J%a%b%j3NJ]$r$7$F$$$k%3!<%I$r8+$+$1$?!#(B $B$3$N%3!<(B
          $B%I$O5v$5$l$k$N$+!#(B $B$^$?5v$5$l$k$H$7$F0\?"@-$O9b$$$N$+!#(B

          struct  name  {
                 int  namelen;
                 char  name[1];
          };

A9.7:     $B$3$N%F%/%K%C%/$OM-L>$G$"$k!#(B Dennis Ritchie $B$O(B $B!V%3%s%Q%$%i$X$NITEv$JFk$l(B
          $BFk$l$7$5!W(B $B$H8F$s$@!#(B ANSI $B2r<a5,B'(B(ANSI Interpretation Ruling) $B$O!"(B $B$3$l$O(B
          ($B$b$C$H@53N$K$O!"(B $BL>A0IU$-%U%#!<%k%I(B(name field) $B$KBP$7$F!"(B $BDj5A$7$?Bg$-$5(B
          $B$r1[$($F%"%/%;%9$9$k$3$H(B) $B5,B'$K87L)$K$O=`5r$7$F$$$J$$$H9M$($F$$$k!#(B $B$3(B
          $B$N5;K!$,@5$7$$$+$I$&$+$r<h$j4,$/5DO@$r==J,$K07$&$3$H$O!"(B $B$3$N(BFAQ $B$NHO(B
          $B0O$r1[$($F$$$k!#(B $B$7$+$7@$$NCf$KCN$i$l$F$$$kA4$F$N%3%s%Q%$%i$N<BAu$G!"(B $B$3(B
          $B$NJ}K!$O0\?"@-$,9b$$$h$&$G$"$k(B($BG[Ns$N6-3&$rCm0U?<$/%A%'%C%/$9$k%3%s%Q%$(B
          $B%i$O7Y9p$r=P$9$+$b$7$l$J$$(B)$B!#(B

          $BBg;v$r<h$k$K$O!"(B $B2DJQD9$NMWAG$NBg$-$5$rHs>o$KBg$-$/<h$k$[$&$,!"(B $B>.$5$/<h(B
          $B$k$h$j$OK>$^$7$$$+$b$7$l$J$$!#(B $B>e$NNc$G$$$($P!"(B

          ...
          char  name[MAXSIZE];
          ...

          $B$3$3$G(BMAXSIZE $B$OJ]B8$5$l$k$I$NL>A0$h$j$bBg$-$$(B($B$3$&$$$&$U$&$K=$@5$5(B
          $B$l$?5;K!$O5,3J$K=`5r$7$F$k$H$$$&(B)$B!#(B

          References:  [ANSI] Rationale Sec.  3.5.4.2 pp.  54-5.

Q9.8:     $B9=B$BNFb$N%U%#!<%k%I$N%P%$%H%*%U%;%C%H$rCN$kJ}K!$O!#(B

A9.8:     ANSI C $B$O!"(B offsetof $B%^%/%m$rMQ0U$7$F$$$k$N$G!"(B $BMQ0U$5$l$F$$$k>l9g$O;H$&$3(B
          $B$H!#(B <stddef.h>$B$r;2>H!#(B $B$b$7<j$KF~$l$k$3$H$,$G$-$J$1$l$P!"(B $B?dA&$G$-$k<BAu(B
          $B$O0J2<$N$b$N$G$"$k!#(B

          #define  offsetof(type,  mem)  ((size_t)  \
((char  *)&((type  *)  0)->mem  -  (char  *)((type  *  0)))

          $B$3$N<BAu$b(B100%$B$N0\?"@-$r;}$D$o$1$G$O$J$$!#(B $B%3%s%Q%$%i$NCf$K$O!"(B $B$O$M$D(B
          $B$1$k$b$N$,$"$k$+$b$7$l$J$$$,!"(B $B$=$l$O$=$l$GM}$K$+$J$C$F$$$k!#(B

          $B<!$N<ALd$X$N2rEz$r;H$$J}$N;29M$K$9$k$3$H!#(B

          References:  [ANSI] Sec.  4.1.5 , Rationale Sec.  3.5.4.2 p.  55.

Q9.9:     $B$I$&$d$l$P9=B$BN$N%U%#!<%k%I$r!"(B $B<B9T;~$KL>A0$G%"%/%;%9$G$-$k$+!#(B

A9.9:     $B$^$:(Boffsetof() $B%^%/%m$r;H$C$FL>A0$H%*%U%;%C%H$NBP1~I=$rMQ0U$9$k!#(B $B9=B$BN(Ba
          $B$N%U%#!<%k%I(Bb $B$N%*%U%;%C%H$O!"(B

          offsetb  =  offsetof(struct  a,  b);

          $B$GM?$($i$l$k!#(B $B$b$70J2<$N<0$G(Bstructp $B$,9=B$BN$N<BBN$X$N%]%$%s%?$G!"(B b $B$,(B
          $B>e$G7W;;$7$?%*%U%;%C%H$r;}$D(Bint $B$N%U%#!<%k%I$H$9$k$H!"(B b $B$NCM$O4V@\E*$K(B

          *(int  *)((char  *)structp  +  offsetb)  =  value;

          $B$H$7$FF@$i$l$k!#(B

Q9.10:      $B9=B$BN$K(Bsizeof $B1i;;;R$r;H$C$?$i!"(B $B;d$,;W$C$F$$$?$h$j$bBg$-$JBg$-$5$rJV$7(B
            $B$F$-$?!#(B $B$^$k$G!"(B $B$*$7$j$K5M$aJ*$,$7$F$"$k$h$&$@!#(B

A9.10:      $B9=B$BN$O!"(B $B9=B$BN$rO"B3E*$KG[CV$7$?$H$-$K3F9=B$BN$N@hF,$,@0Ns$9$k$h$&$K!"(B
            $B$3$N$h$&$J5M$aJ*$r(B($BFbIt$N5M$aJ*$HF1$8$h$&$K(B:Q9.5 $B$r;2>H(B) $B;}$D>l9g$,$"$k!#(B

Q9.11:      $B;d$,;H$C$F$$$k%3%s%Q%$%i$O9=B$BN$NFbIt$K7j$r3+$1$k$N$G!"(B $BNN0h$OL5BL$K$J(B
            $B$k$7!"(B $B%G!<%?$rJ]B8$7$?30It$N%U%!%$%k$KBP$7$F!H%P%$%J%j!I$GF~=PNO$9$k$3(B
            $B$H$,$G$-$J$$!#(B $B$3$NKd$aAp$r;_$a$?$j!"(B $B9=B$BN$N@0Ns$r@)8f$9$k$3$H$O$G$-$J(B
            $B$$$N$+!#(B

A9.11:      $B7/$,;H$C$F$$$k%3%s%Q%$%i$O!"(B $B$3$N@)8f$r$*$3$J$&3HD%5!G=$r(B($B$?$V$s(B#pragma
            $B$G(B) $BMQ0U$7$F$$$k$+$b$7$l$J$$!#(B $B$?$@$7I8=`2=$5$l$?J}K!$O$J$$!#(B Q17.3 $B$r;2(B
            $B>H$N$3$H!#(B

Q9.12:      $B6&MQBN$r=i4|2=$9$k$3$H$O$G$-$k$+!#(B

A9.12:      $B6&MQBN$N:G=i$N%a%s%P!<$r=i4|2=$K;H$&$3$H$r(BANSI C $B5,3J$O5v$7$F$$$k!#(B $BB>(B
            $B$N%a%s%P!<$r=i4|2=$9$kI8=`E*$JJ}K!$O$J$$(B(ANSI $B5,3J@.N)$h$jA0$N%3%s%Q%$(B
            $B%i$G$O!"(B $B$?$$$F$$$I$N%a%s%P!<$r;H$C$F$b=i4|2=$9$k$3$H$O$G$-$J$+$C$?(B)$B!#(B

Q9.13:      $B9=B$BN$r0z?t$H$7$F<h$k%k!<%A%s$KDj?tCM$r$I$&$d$C$FEO$;$P$h$$$+!#(B

A9.13:      C $B8@8l$K$OL>A0$N$J$$9=B$BN$NCM$r:n$j=P$9J}K!$OB8:_$7$J$$!#(B $B0l;~E*$K9=B$(B
            $BBN$NJQ?t$r;H$&$7$+$J$$!#(B

10          $B@k8@(B

Q10.1:      $B$I$N@0?t7?$r;H$($P$h$$$+!"(B $B$I$&$d$C$F7h$a$l$P$h$$$+!#(B

A10.1:      $BBg$-$JCM(B(32767 $B$h$jBg$-$JCM$+!"(B -32767 $B$h$j>.$5$$CM(B) $B$,I,MW$J$i(Blong $B$r;H(B
          $B$(!#$b$7%a%b%j$N8zN($r5$$K$9$k$J$i(B($BBg$-$JG[Ns$H$+B?$/$N9=B$BN$J$I(B) short
          $B$r;H$(!#(B $B$I$&$G$b$$$$$J$i(Bint $B$r;H$(!#(B $B%*!<%P!<%U%m!<$N;~$N@-<A$NL@3N$J$3(B
          $B$H$,Bg;v$GIi$NCM$,ITMW$J$i!"(B $BBP1~$9$kId9f$J$7$N@0?t$r;H$((B($B$?$@$7Id9fIU(B
          $B$-$HId9f$J$7$N@0?t$N:.:_$K$OCm0U$9$k$3$H(B)$B!#(B $BF1$8$h$&$J5DO@$,(Bfloat $B$r;H$&(B
          $B$Y$-$+(Bdouble $B$r;H$&$Y$-$+$N5DO@$K$b$"$F$O$^$k!#(B

          char $B$d(Bunsigned  char $B$r(B $B!V>.$5$J!W(B $B@0?t$H$7$F;H$&$3$H$O$G$-$k$,!"(B $B$=$&$9(B
          $B$k$3$H$K$h$kM=A[ITG=$JId9f3HD%$NLdBj$H%3!<%I$NBg$-$5$NA}2C$r9M$($k$H!"(B
          $B$=$N2ACM$h$j$bH<$&LLE]$N$[$&$,Bg$-$$!#(B

          $BJQ?t$N%"%I%l%9$,I,MW$G!"(B $B$=$N%"%I%l%9$N7?$,FCDj$N7?$G$J$1$l$P$J$i$J$$>l(B
          $B9g$O!"(B $B>e5-$N5,B'$OL@$i$+$K$"$F$O$^$i$J$$!#(B

          $B$J$s$i$+$NM}M3$G7h$^$C$?Bg$-$5$K2?$+$r@k8@$9$kI,MW$,$"$k$H$-$b!"(B $B<+J,$,(B
          $BA*Br$7$?J}K!$rE,@Z$J(Btypedef $B$G1#$9$3$H(B($B$3$s$J$3$H$r$7$J$1$l$P$$$1$J$$(B
          $BM}M3$O!"(B $B$?$$$F$$30$+$i2!$7IU$1$i$l$?J]B8NN0h$N7A$K9g$o$;$k$?$a$G$"$k!#(B
          $B$3$N$h$&$J>l9g$K$D$$$F$O(BQ17.2 $B$r;2>H$N$3$H(B)$B!#(B

Q10.2:      $B:G6a=P$@$7$?(B64 $B%S%C%H%^%7%s$N!"(B 64 $B%S%C%H@0?t$N%G!<%?7?$O2?$G$"$k$Y$-$+!#(B

A10.2:      64 $B%S%C%H%^%7%s8~$1$N(BC $B8@8l$N%Y%s%@!<$N0lIt$O!"(B64 $B%S%C%H$N(Blong $B@0?t7?$r%5(B
          $B%]!<%H$7$F$$$k!#4{B8$N%3!<%I$N$"$^$j$K$bB?$/$,(Bsizeof(int)  ==  sizeof(long)  ==  32
          $B%S%C%H$H$$$&$3$H$KMj$C$F$$$k$3$H$r62$l$F!"?7$?$K(B64 $B%S%C%H$N(Blong  long(__longlong
          $B$N>l9g$b$"$k(B) $B$H$$$&@0?t7?$rF3F~$7$?%Y%s%@!<$b$$$k!#(B

          $B0\?"@-$N9b$$$J%3!<%I$r=q$/$3$H$K4X?4$N$"$k%W%m%0%i%^$O!"(B 64 $B%S%C%H$NBg$-(B
          $B$5$N%G!<%?7?$,I,MW$G$"$k$H$$$&$3$H$rE,@Z$J(Btypedef $B$G1#$5$J$1$l$P$J$i$J(B
          $B$$!#(B $B?7$7$$!"(B $B$b$C$HBg$-$J@0?t7?$rF3F~$;$6$k$r$($J$$$H9M$($F$$$k%Y%s%@!<(B
          $B$O!"(B $B?7$7$$@0?t7?$r(B $B!V>/$J$/$H$b(B64 $B%S%C%H$"$k!W(B ($B$=$l$OK\Ev$K?7$7$$7?$G$"(B
          $B$k!#(B $B=>Mh$N(BC $B$K$O$J$$(B) $B$H@kEA$9$Y$-$G!"(B $B!V$T$C$?$j(B64 $B%S%C%H!W(B $B$H$O@kEA$9$Y(B
          $B$-$G$O$J$$!#(B

Q10.3:      $B%j%s%/IU%j%9%H$r$&$^$/Dj5A$9$k$3$H$,$G$-$J$$!#(B

          typedef  struct
 {
 char  *item;
 NODEPTR  next;
 }  *NODEPTR;

            $B>e5-$N%3!<%I$r=q$$$?$,%3%s%Q%$%i$O%(%i!<$rJV$9!#(B C $B$N9=B$BN$O<+?H$X$N%](B
            $B%$%s%?$r4^$`$3$H$,$G$-$J$$$N$+!#(B

A10.3:      C $B$N9=B$BN$O!"<+?H$X$N%]%$%s%?$rMWAG$H$7$F;}$D$3$H$,$G$-$k!#(BK&R $B$N(B6.5 $B>O(B
            $B$N5DO@$HNc$,!"$3$NE@$rL@$i$+$K$7$F$/$l$k!#>e5-$N%3!<%I$NLdBj$O(BNODEPTR
            $B$N(Btypedef $B$,(B $B!V(Bnext$B!W(B $B%U%#!<%k%I$r@k8@$7$?;~E@$G$O40@.$7$F$$$J$$$3$H$G$"(B
            $B$k!#(B $B=$@5$9$k$K$O:G=i$K9=B$BN$K%?%0$rIU$1(B(  $B!V(Bstruct  node$B!W(B )$B!"(B $B<!$K(Bnext
            $B%U%#!<%k%I$r(B $B!V(Bstruct  node  *next;$B!W(B $B$KJQ99$7!"(B typedef $B$N@k8@$r9=B$BN$N(B
            $B@k8@$N$^$k$C$-$jA0$+!"(B $B$^$k$C$-$j8e$m$K;}$C$F$/$k!#(B $B=$@0HG$N0l$D$O0J2<$N(B
            $B$h$&$K$J$k!#(B

            struct  node
            {
                   char  *item;
                   struct  node  *next;
            };
            typedef  struct  node  *NODEPTR;

            $B>/$J$/$H$bB>$K(B3$B<oN`$N=$@0J}K!$,$"$k!#(B $B8_$$$K8_$$$r;2>H$9$k9=B$BN$NAH$r(B
            typedef $B$7$h$&$H$9$k$H!"(B $BF1$8$h$&$JLdBj$,;}$A>e$,$k$N$G!"(B $BF1$8$h$&$J2r7h(B
            $B:v$r<h$l$P$$$$!#(B

            References:  [K&R I] Sec.  6.5 p.  101; [K&R II] Sec.  6.5 p.  139; [H&S]Sec.  5.6.1
            p.  102; [ANSI] Sec.  3.5.2.3 .

Q10.4:      char $B$X$N%]%$%s%?$rJV$94X?t$X$N%]%$%s%?$rJV$94X?t$X$N%]%$%s%?(BN $B8D$+$i(B
            $B$J$kG[Ns$r$I$&$d$C$F@k8@$9$l$P$h$$$+!#(B

A10.4:      $B$3$N<ALd$O>/$J$/$H$b(B3 $B$D$NJ}K!$GEz$($k$3$H$,$G$-$k!#(B

             (a)   ($B$$$-$J$j(B)
                       char  *(*(*a[N])())();

             (b)    $B@k8@$r(Btypedef $B$r;H$C$FCJ3,E*$K:n$j=P$9!#(B

                       typedef  char  *pc;                     /*  char $B$X$N%]%$%s%?(B */
                       typedef  pc  fpc();                     /*  char $B$X$N%]%$%s%?$rJV$94X?t(B */
                       typedef  fpc  *pfpc;                    /*  $B>e5-$X$N%]%$%s%?(B */
                       typedef  pfpc  fpfpc();              /*  $B!D$rJV$94X?t(B */
                       typedef  fpfpc  *pfpfpc;             /*  $B!D$r;X$9%]%$%s%?(B */
                       pfpfpc  a[N];                              /*  $B!D$NG[Ns(B */

             (c)    cdecl $B$r;H$(!#(B cdecl $B$O1Q8l$NJ8$r(BC $B$NJQ?t@k8@$KJQ49$7!"(B $B$^$?$=$N5UJQ49(B
                    $B$r9T$&!#(B

                       cdecl>  declare  a  as  array  of  pointer  to  function  returning  pointer
                       to  function  returning  pointer  to  char
                       char  *(*(*a[])())()

                    cdecl $B$O!"(B $BJ#;($J@k8@$r%-%c%9%H$r;H$C$F@bL@$7$F$/$l$k$7!"(B $B0z?t$,$I$N(B
                    $B3g8L$NAH$KF~$k$+<($7$F$/$l$k(B($B>e5-$N$h$&$JJ#;($J4X?t$NDj5A$G$O(B)$B!#(B $B$$(B
                    $B$/$D$+$N%P!<%8%g%s$N(Bcdecl $B$,(Bcomp.sources.unix $B$N%\%j%e!<%`(B14 $B$KJ]B8(B
                    $B$5$l$F$$$k$7(B(Q17.8 $B;2>H(B)K&R $BBhFsHG$K$b:\$C$F$$$k!#(B

            $B$h$/=q$1$?(BC $B$NK\$J$i!"(B $B$3$l$i$NJ#;($J(BC $B$N@k8@$r(B $B!VFb$+$i30$X!W(B $BFI$`J}K!$K(B
            $B$D$$$F65$($F$/$l$k$O$:$@!#(B

            References:  [K&R II] Sec.  5.12 p.  122; [H&S] Sec.  5.10.1 p.  116.

Q10.5:      $B:#!"(B $B>uBV5!3#$r:n$C$F$$$k!#(B $B$3$N>uBV5!3#$N>uBV$4$H$K4X?t$rMQ0U$9$k!#(B $B3F4X(B
            $B?t$,!"(B $B<!$N>uBV$N4X?t$X$N%]%$%s%?$rJV$9$3$H$G>uBV$NA+0\$r<BAu$7$?$$!#(B $B$3(B
            $B$3$^$GMh$F(BC $B8@8l$N@k8@$N;EAH$_$G$O8B3&$,$"$k$N$K5$IU$$$?!#(B $B$3$l$i$N4X?t(B
            $B$r!"(B $B!V4X?t$X$N%]%$%s%?$rJV$94X?t$X$N%]%$%s%?$rJV$94X?t$X$N%]%$%s%?$rJV(B
            $B$94X?t$X$N%]%$%s%?!D!W(B $B$HDj5A$9$k$3$H$,$G$-$J$$!#(B

A10.5:      $BD>@\$KDj5A$9$k$3$H$O$G$-$J$$!#(B $BHFMQ$N4X?t%]%$%s%?$rJV$94X?t$rMQ0U$7$F!"(B
            $B$=$N%]%$%s%?$r;H$C$F<!$N4X?t$r8F$VA0$K%-%c%9%H$r9T$&!#(B $B$^$?$O4X?t$,9=B$(B
            $BBN$rJV$9$h$&$K$9$k!#(B $B$=$N9=B$BN$O!"(B $B$=$N4X?t$X$N%]%$%s%?$@$1$r%a%s%P!<$K(B
            $B;}$D$h$&$K$9$k!#(B

Q10.6:      $B;d$,;H$C$F$$$k%3%s%Q%$%i$O(B $B!V4X?t$NITEv$J:F@k8@!W(B $B$@$HJ86g$r$D$1$k!#(B $B0lEY(B
            $BDj5A$7$F!"(B $B0l2s8F$s$G$k$@$1$J$N$K!#(B

A10.6:      $B4X?t$r8F$S=P$9$H$3$m$N%9%3!<%WFb$K4X?t$N@k8@$,$J$$$H$-$O(B($B$"$k$$$O@k8@(B
            $B$h$j$bA0$G4X?t$,8F$P$l$F$$$k$H$-(B) $B$=$N4X?t$,(Bint $B$rJV$9$H@k8@$5$l$F$$$k(B
            $B$H9M$($k!#(B $B$=$N$?$a!"(B $B8e$G4X?t$,(Bint $B0J30$rJV$9$H@k8@$5$l$k$HIT0lCW$,@8$8(B
            $B$k!#(B int $B$rJV$5$J$$4X?t$O!"(B $B8F$S=P$9A0$K@k8@$7$J$1$l$P$J$i$J$$!#(B

            References:  [K&R I]  Sec.   4.2  pp.   70;  [K&R II]  Sec.   4.2  p.   72;  [ANSI]  Sec.
            3.3.2.2 .

Q10.7:      $B%0%m!<%P%kJQ?t$r@k8@(B/$BDj5A$9$k0lHV$$$$J}K!$O!#(B

A10.7:      $B$^$:!"(B $B%0%m!<%P%k$J(B($B87L)$K$$$($P(B $B!V30It$N(B(external)$B!W(B ) $BJQ?t(B($B$^$?$O4X?t(B) $B$N(B
            $B@k8@$OJ#?tB8:_$7$F$b$h$$$,!"Dj5A$O$?$@0l$D$@$1B8:_$7$J$1$l$P$J$i$J$$(B($BDj(B
            $B5A$O<B:]$KNN0h$r3d$jEv$F=i4|CM$,$"$l$P=i4|CM$rM?$($k@k8@$G$"$k(B)$B!#(B $BDj5A$r(B

            $B$I$3$+Cf?4$H$J$k(B($B%W%m%0%i%`$+%b%8%e!<%k$N(B).c $B%U%!%$%k$KCV$$$F!"(B $B30ItJQ?t(B
            $B@k8@$r%X%C%@!<(B(.h) $B%U%!%$%k$KCV$/!#(B $B$=$N%X%C%@%U%!%$%k$r@k8@$,I,MW$J$H$3(B
            $B$m$9$Y$F$G(B#include $B$9$k!#(B $BDj5A$r=q$$$?(B.c $B%U%!%$%k$b!"(B $B30It@k8@$r=q$$$?%X%C(B
            $B%@!<%U%!%$%k$r%$%s%/%k!<%I$9$k$N$,$h$$!#(B $B$=$&$9$l$P!"(B $B%3%s%Q%$%i$O@k8@$,(B
            $B9g$C$F$$$k$+$I$&$+%A%'%C%/$G$-$k!#(B

            $B$3$N%k!<%k$O0\?"@-$NEY9g$r9b$a$k$7!"(B ANSI C $B5,3J$NI,MW$H$7$F$$$k$H$3$m(B
            $B$H0lCW$9$k!#(B UNIX $B$N%3%s%Q%$%i$d%j%s%+!<$O(B $B!V6&DL%b%G%k(B(common model)$B!W(B
            $B$r;H$C$F$$$k$N$GJ#?t8D$N(B($B=i4|2=$rH<$o$J$$(B) $BDj5A$r5v$7$F$$$k$3$H$KCm0U$9(B
            $B$k$3$H!#(B $BJQ$F$3$j$s$J%7%9%F%`$G$O!"(B $BDj5A$H30It@k8@$r6hJL$9$k$?$a$KL@<(E*(B
            $B$J=i4|2=$rI,MW$H$9$k$+$b$7$l$J$$!#(B

            $B%W%j%W%m%;%C%5$N%H%j%C%/$r;H$($P!"(B $B%X%C%@!<%U%!%$%k$G0lEY$@$1@k8@$7$F!"(B
            $BFCJL$J(B#define $B$r;H$&$3$H$G0l2s$N(B#include $B$G$@$1JQ?t$rDj5A$9$k$3$H$,$G(B
            $B$-$k!#(B

            References:  [K&R I]  Sec.  4.5  pp.  76-7;  [K&R II]  Sec.  4.4  pp.  80-1;  [ANSI]
            Sec.  3.1.2.2 (esp.  Rationale), Secs.  3.7, 3.7.2, Sec.  F.5.11 .

Q10.8:      $B4X?t@k8@$NA0$N(Bextern $B$O2?$r0UL#$9$k$N$+!#(B

A10.8:      $B$3$&$$$&=q$-J}$r$9$k$3$H$G!"(B $B4X?t$NDj5A$,$?$V$sJL$N%=!<%9%U%!%$%k$K$"$k(B
            $B$3$H$r!"(B $B$[$N$a$+$9$3$H$,$G$-$k!#(B $B$7$+$70J2<$N(B2 $B$D$K0c$$$O$J$$!#(B
            extern  int  f();
            int  f();

            References:  [ANSI] Sec.  3.1.2.2 .

Q10.9:      $B$d$C$H$N$3$H$G4X?t$X$N%]%$%s%?$r@k8@$9$k9=J8$rM}2r$7$?!#(B $B$5$F$I$&$d$C$F(B
            $B$3$l$r=i4|2=$9$l$P$h$$$+!#(B

A10.9:      $B0J2<$N$h$&$JJ}K!$r<h$l!#(B

            extern  int  func();
            int  (*fp)()  =  func;

            $B4X?tL>$,!"(B $B<0$K8=$o$l$k$,<B9T$5$l$J$$$H$-$O(B($B$9$J$o$A8e$m$K!H(B($B!I$,$D$+$J(B
            $B$$$H$-(B)$B!"(B $BG[NsL>$N$h$&$K%]%$%s%?$K@.$j2<$,$k!#(B

            $B$3$N$H$-0lHL$K4X?t$NL@<(E*$J(Bextern $B@k8@$,I,MW$G$"$k!#(B $B$J$<$J$i$3$N>l9g!"(B
            $B0EL[$N(Bextern $B@k8@$O5/$3$i$J$$$+$i(B($B$3$3$G$b4X?tL>$N8e$m$K!H(B($B!I$,$D$$$F$$(B
            $B$J$$$+$i(B)$B!#(B

Q10.10:       $B4X?t$X$N%]%$%s%?$r;H$C$F4X?t$r8F$V$N$K!"(B $B$$$/$D$+$N$d$jJ}$r8+$?$3$H$,$"(B
              $B$k!#(B $B@bL@$7$F$b$i$($J$$$+!#(B

A10.10:       $B$b$H$b$H$O4X?t$X$N%]%$%s%?$O(B*$B1i;;;R$r;H$C$F(B($B$+$DM%@h=g0L$r$O$C$-$j$5$;(B
              $B$k$?$a$N$*$^$1$N$+$C$3$r;H$C$F(B)$B!HK\J*$N!I4X?t$XJQ49$7$J$1$l$P$J$i$J$+$C$?!#(B

              int  r,  f(),  (*fp)()  =  f;
              r  =  (*fp)();

              $B$^$?0J2<$N$h$&$K<gD%$9$k$3$H$b2DG=$G$"$k!#(B $B4X?t$O>o$K%]%$%s%?7PM3$G5/F0(B
              $B$5$l!HK\J*$N!I4X?t$O%]%$%s%?$K@.$j2<$,$k(B($B<0$NCf$G!"(B $B=i4|2=$N$H$-$HF1$8MM(B
              $B$K(B) $B$+$i2?$bLdBj$O$J$$!#(B $B$3$&$$$&M}M3IU$1$,(Bpcc $B$rDL$7$F9-$,$j(BANSI $B5,3J(B
              $B$K$b:NMQ$5$l$?!#(B $B$9$J$o$A!"(B

              r  =  fp();

              $B$O(Bfp $B$,4X?t$G$b!"(B $B4X?t$X$N%]%$%s%?$G$b@5$7$/LdBj$J$/F0$/(B($B$3$N=q$-J}$O;O(B
              $B$a$+$i$"$$$^$$$5$NF~$kM>CO$NL5$$$b$N$G$"$C$?!#(B $B4X?t$X$N%]%$%s%?$K0z?t$,(B
              $BB3$$$F$$$l$P!"(B $B$=$N%]%$%s%?$rDL$7$F<B9T$9$k$7$+;EJ}$,$J$$$b$N(B)$B!#(B * $B$r=q$/(B
              $B$3$H$O32$,$J$$$7!"(B $B:#$^$GDL$j5v$5$l$k(B($B5v$5$l$k$I$3$m$+!"(B $B8E$$%3%s%Q%$%i(B
              $B$H$N8_49@-$,=EMW$G$"$l$P;H$&$3$H$r4+$a$k(B)$B!#(B

              References:  [ANSI] Sec.  3.3.2.2 p.  41, Rationale p.  41.

Q10.11:       auto $B$H$$$&%-!<%o!<%I$O2?$rI=$o$9$N$+!#(B

A10.11:       $B2?$b$J$$!#(B $B$=$l$O;~BeCY$l$@!#(B

11          Stdio

Q11.1:      $B$J$<0J2<$N%3!<%I$O$&$^$/F0$+$J$$$N$+!#(B

            char  c;
            while((c  =  getchar())  !=  EOF)...

A11.1:      getchar $B$NLa$jCM$r3JG<$9$kJQ?t$O(Bint $B$G$J$1$l$P$J$i$J$$!#(B getchar $B$O!"(B $BJ8(B
            $B;z7?$N$"$i$f$kCM$rJV$9$@$1$G$J$/(BEOF $B$bJV$9!#(B getchar $B$NLa$jCM$r(Bchar $B$G(B
            $BEO$9$H!"(B $BIaDL$NJ8;z$,JV$C$F$-$?$N$K(BEOF $B$H8m2r$5$l$?$j!"(B EOF $B$,B>$NCM$K(B
            $BJQ$($i$l$F(B($BFC$K%G!<%?7?(Bchar $B$,Id9g$J$7$N>l9g(B)$B!"(B $B$$$D$K$J$C$F$b(BEOF $B$,=P(B
            $B$F$3$J$$$+$b$7$l$J$$!#(B

            References:  [CT&P] Sec.  5.1 p.  70.

Q11.2:      $B$I$&$9$l$P!"(Bprintf $B$N%U%)!<%^%C%HJ8;zNs$r;H$C$F(B'%' $B$r=PNO$G$-$k$N$+!#(B\%$B$r(B
            $B;n$7$?$1$l$I!"(B $B$&$^$/$$$+$J$+$C$?!#(B

A11.2:      %%$B$H$$$&$U$&$K!"(B %$B$rFs2sB3$1$F=q$1!#(B

            References:  [K&R I]  Sec.  7.3  p.  147;  [K&R II]  Sec.  7.2  p.  154;  [ANSI]  Sec.
            4.9.6.1 .

Q11.3:      $B$J$<%3!<%I(Bscanf("%d",  i); $B$,$&$^$/F0$+$J$$$N$+!#(B

A11.3:      scanf $B$O!"(B $BCM$r=q$-9~$`JQ?t$X$N%]%$%s%?$rI,MW$H$9$k!#(B scanf("%d",  &i);
            $B$H=q$+$J$1$l$P$J$i$J$$!#(B

Q11.4:      $B$J$<0J2<$N%3!<%I$OF0$+$J$$$N$+!#(B
            double  d;
            scanf("%f",  &d);

A11.4:      scanf $B$G$O(Bdouble $B$K$O(B%lf $B$r!"(B float $B$K$O(B%f $B$r;H$&(B(printf $B$H$NIT0lCW$KCm(B
            $B0U$9$k$3$H!#(B printf $B$O!"(B C $B8@8l$N0z?t$N7?$N3J>e$2$N%G%U%)%k%H$N5,B'$K$h$j(B
            double $B$K$b(Bfloat $B$K$b(B%f $B$r;H$&(B)$B!#(B

Q11.5:      $B$J$<0J2<$N%3!<%I$O$&$^$/F0$+$J$$$N$+!#(B

            while(!feof(fp))  {
          fgets(buf,  MAXLINE,  fp);
          fputs(buf,  outfp);
            }

A11.5:      C $B8@8l$N(BI/O $B$O!"(B Pascal $B$N(BI/O $B$H$O0[$J$k!#(B EOF $B$O!"(B $BF~NO%k!<%A%s$,FI$b$&(B
            $B$H$7$F%U%!%$%k$N=*$o$j(B(End-Of-File) $B$K$?$I$jCe$$$?8e$G$"$k$3$H$r<($7$F(B
            $B$$$k!#(B $B$?$$$F$$$OF~NO4X?t(B($B$3$N>l9g$O(Bfgets) $B$NLa$jCM$r%A%'%C%/$9$l$P$h$$!#(B
            feof() $B$r;H$&I,MW$,A4$/$J$$>l9g$,B?$$!#(B

Q11.6:      $B$J$<(Bgets() $B$r;H$&$J$HC/$b$,8@$&$N$+!#(B

A11.6:      gets $B$G$O!"(B $B$3$l$+$iFI$b$&$H$7$F$$$k%P%C%U%!$NBg$-$5$r;XDj$G$-$J$$$N$G!"(B
            $B%P%C%U%!$,$"$U$l$F$7$^$&$3$H$rKI$0$3$H$,$G$-$J$$!#(B Q3.1 $B$N!"(B gets() $B$NBe(B
            $B$o$j$K(Bfgets() $B$r;H$&J}K!$r@bL@$7$?%3!<%I$NCGJR$r;29M$N$3$H!#(B

Q11.7:      $B$J$<(Bprintf $B$r8F$V$HJQ?t(Berrno $B$K(BENOTTY $B$,@_Dj$5$l$k$N$+!#(B

A11.7:      stdio $B%Q%C%1!<%8$NB?$/$N<BAu$O(Bstdout $B$N@h$,C<Kv$N$H$-$O?6$kIq$$$r>/$7JQ(B
            $B$($k!#(B $B$3$&$$$&<BAu$G$O!"(B $B=PNO@h$rH=CG$9$k$?$a$K(Bstdout $B$N@h$,%?!<%_%J%k$G(B
            $B$J$$$H$-$OI,$:<:GT$9$kA`:n(B($B$3$l$,(BENOTTY $B$H@_Dj$9$k(B) $B$r$*$3$J$&!#(B $B$h$C(B
            $B$F=PNO$NA`:n$,40A4$K@.8y$9$k$K$b$+$+$o$i$:(Berrno $B$NCM$O(BENOTTY $B$H$J$k!#(B

            References:  [CT&P] Sec.  5.4 p.  73.

Q11.8:      $B;d$N%W%m%0%i%`$N%W%m%s%W%H$HCf4V=PNO$,!"(B $B2hLL>e$K$"$i$o$l$J$$$3$H$,$"(B
            $B$k!#(B $BFC$K!"(B $B%Q%$%W$rDL$7$F=PNO$rB>$N%W%m%0%i%`$KEO$7$?$H$-$K!"(B $B$3$NLdBj$,(B
            $B5/$3$k!#(B

A11.8:      $B=PNO$,8+$($FM_$7$$$H$3$m$G$O!"(B $BI,$:L@<(E*$K(Bfflush $B$r;H$C$F=PNO$r$O$-$@(B
            $B$9$3$H!#(B $B$[$C$F$*$$$F$b$$$/$D$+$N;EAH$_$,!"(B fflush $B$r!HE,@Z$J$H$-$K!I<B9T(B
            $B$7$F$/$l$k!#(B $B$7$+$7!"(B $B$3$l$O(Bstdout $B$,C<Kv$N$H$-$K$7$+E,1~$5$l$J$$$3$H$,B?(B
            $B$$!#(B Q11.7 $B$r;2>H$N$3$H!#(B

Q11.9:      scanf() $B$r;H$C$F%-!<%\!<%I$+$iFI$_<h$k$H!"(B $B$b$&0l9TM>7W$KBG$A9~$`$^$G!"(B
            $B%O%s%0$9$k$h$&$@!#(B

A11.9:      scanf() $B$O%U%j!<%U%)!<%^%C%H$NF~NO$rBP>]$K@_7W$5$l$F$$$k!#(B $B%-!<%\!<%I$+(B
            $B$iFI$`$H$-$K$O%U%j!<%U%)!<%^%C%H$NF~NO$O!"(B $B$3$A$i$,4uK>$7$F$$$k$b$N$G$"(B
            $B$k$3$H$O>/$J$$!#(B $BFC$K%U%)!<%^%C%HJ8;zNs$N(B $B!V(B\n$B!W(B $B$O2~9T$r0UL#$7$F$k$N$G$O(B
            $B$J$/!"(B $B6uGr$,B3$/$+$.$jFI$s$G$O<N$F$k$3$H$r0UL#$7$F$$$k!#(B

            $B4XO"$7$?LdBj$H$7$F$O!"(B $B;W$$$,$1$J$$>l=j$K?tCM$G$J$$F~NO$,Mh$k$H!"(B scanf
            $B$,!H%8%c%`!I$C$F$7$^$&$3$H$,$"$k!#(B $B$3$l$i$NLdBj$r9M$($k$H!"(B $B$?$$$F$$$O0l9T(B
            $B$^$k$^$kFI$`$N$K(Bfgets() $B$r;H$C$F!"(B $B$=$N8e$G(Bsscanf() $B$+B>$NJ8;zNs$rA`:n$9(B
            $B$k4X?t$r;H$C$F!"(B $B%i%$%s%P%C%U%!$rJ,@O$9$kJ}$,$h$$!#(B sscanf $B$r;H$&$H$-$OLa(B
            $B$jCM$r%A%'%C%/$7$F!"(B $B4|BT$7$?$@$1$N?t$N9`L\$,8+$D$+$C$?$3$H$r3NG'$9$k$3(B
            $B$H$rK:$l$J$$$3$H!#(B

Q11.10:       fopen $B$N%b!<%I(B $B!V(Br+$B!W(B $B$r;H$C$F%U%!%$%k$r3+$$$F!"(B $B<!$K$"$kJ8;zNs$rFI$s$G!"(B
              $B:G8e$K=$@5$7$?J8;zNs$r=q$-La$9$3$H$G%U%!%$%k$r99?7$7$h$&$H$7$F$$$k!#(B $B$G(B
              $B$b$&$^$/$$$+$J$$!#(B

A11.10:       $B=q$/A0$K(Bfseek $B$rI,$:8F$V$3$H!#(B $B>e=q$-$7$h$&$H$7$F$$$kJ8;zNs$N@hF,$K%7!<(B
              $B%/$9$k$3$H$,I,MW$G$"$k$7!"(B $BFI$_=q$-N>J}2DG=$N(B $B!V(B+$B!W(B $B%b!<%I$G%G!<%?$rFI$`(B
              $B$H$-$H=q$/$H$-$N4V$K$O(Bfseek $B$+(Bfflush $B$,I,MW$G$"$k!#(B $B85!9$"$C$?J8;z$HF1$8(B
              $B8D?t$7$+>e=q$-$G$-$J$$$3$H$bK:$l$F$O$$$1$J$$!#(B Q17.4 $B$r;2>H$N$3$H!#(B

              References:  [ANSI] Sec.  4.9.5.3 p.  131.

Q11.11:       RETURN $B%-!<$,2!$5$l$k$N$rBT$D$3$H$J$/!"(B $B0lEY$K0lJ8;z$:$DFI$`$3$H$,$G(B
              $B$-$k$+!#(B

A11.11:       Q16.1 $B$r;2>H$N$3$H!#(B

Q11.12:       $B%f!<%6!<$,@hBG$A$7$?F~NO$,!"(B $B<!$KF~NOBT$A$9$k$H$3$m$GFI$^$l$k$3$H$,$J$$(B
              $B$h$&$K!"(B $B=hM}$5$l$F$$$J$$F~NO$r$O$-$@$9$3$H$,$G$-$k$+!#(B fflush(stdin) $B$O(B
              $B8z$/$+!#(B

A11.12:       fflush $B$O!"(B $B=PNO%9%H%j!<%`$K$7$+Dj5A$5$l$F$$$J$$!#(B fflush $B$N!H(Bflush$B!I$O!"(B
              $B%P%C%U%!%j%s%0$5$l$?J8;z$N(B($B<N$F$k$N$G$O$J$/(B) $B=q$-9~$_$rC#@.$9$k$3$H$r0U(B
              $BL#$7$F$$$k!#(B $BFI$^$l$F$J$$F~NO$r<N$F$k$3$H$O!"(B $BF~NO%9%H%j!<%`$r(Bfflush $B$9$k(B
              $B$H$$$&$3$H$HF1$80UL#$G$O$J$$!#(B stdio $B$NF~NO%P%C%U%!$NFI$^$l$F$$$J$$F~NO$r(B
              $B<N$F$k0lHLE*$JJ}K!$O$J$$$7!"(B $B$=$s$J$3$H$r$9$k$@$1$G$O=<J,$G$J$$!#(B $BFI$^$l(B
              $B$F$$$J$$J8;z$O!"(B O/S $B%l%Y%k$N%P%C%U%!$K$b$?$a9~$^$l$F$$$k2DG=@-$,$"$k!#(B

Q11.13:       $B%W%m%0%i%`$NCf$+$i(Bstdin $B$d(Bstdout $B$r%U%!%$%k$K%j%@%$%l%/%H$7$?$$$,$I$&$9(B
              $B$l$P$h$$$+!#(B

A11.13:       freopen $B$r;H$(!#(B

Q11.14:       freopen $B$r;H$C$?8e$G!"85$N(Bstdout($B$"$k$$$O(Bstdin) $B$r<h$jLa$9$3$H$,$G$-$k$+!#(B

A11.14:       $B$b$79T$C$?$jMh$?$j$7$?$$$N$G$"$l$P!"(B $BK|G=$G:G9b$NJ}K!$O(Bfreopen $B$J$s$F;H(B
              $B$o$J$$$3$H$G$"$k!#(B $B<+J,$GL@<(E*$KDj5A$7$?=PNO(B($B$"$k$$$OF~NO(B) $B%9%H%j!<%`JQ(B
              $B?t$r;H$&$3$H!#(B $B$=$&$9$l$P;W$&$^$^$K=PNO(B($B$^$?$OF~NO(B) $B$r3d$jEv$F$F!"(B $B$7$+$b(B
              $B85$N(Bstdout($B$"$k$$$O(Bstdin) $B$r2u$5$J$/$F$9$`!#(B

Q11.15:       $B%*!<%W%s$7$?%U%!%$%k$N%U%!%$%k<1JL;R$+$i%U%!%$%kL>$rI|3h$9$k$3$H$,$G$-(B
              $B$k$+!#(B

A11.15:       $B$3$NLdBj$O!"(B $B0lHLE*$K$$$C$F!"(B $B2r$/$3$H$O$G$-$J$$!#(B $B$?$H$($P(BUNIX $B$G$O%G%#(B
              $B%9%/A4BN$rAv::$9$k$3$H$,(B($B$?$V$sFCJL$J5v2D$,I,MW$H$J$k$@$m$&$,(B) $BI,MW$G(B
              $B%U%!%$%k<1JL;R$,%Q%$%W$d:o=|$5$l$?8e$N%U%!%$%k(B($BJ#?t$N%j%s%/$,D%$i$l$F(B

              $B$$$k%U%!%$%k$KBP$7$F$O8m2r$r$^$M$-$=$&$JEz$($rJV$9$@$m$&(B) $B$r;X$7$F$$$?(B
              $B$i!"(B $B$3$NJ}K!$b$&$^$/$$$+$J$$!#(B $B%*!<%W%s$7$?%U%!%$%k$NL>A0$r(B($B$?$V$s(Bfopen
              $B$K4X?t$r0lCJ$+$V$;$F(B) $B<+J,$G3P$($F$*$/$N$,0lHV$h$$!#(B

12          $B%i%$%V%i%j4X?t(B

Q12.1:      $B$J$<(Bstrncpy $B$O%3%T!<@h$NJ8;zNs$K!"(B $B=*C<J8;z$N(B'\0' $B$rIU$1$J$$$3$H$,$"$k(B
            $B$N$+!#(B

A12.1:      $B85!9(Bstrncpy $B$O!"(B $B:#$H$J$C$F$O;~BeCY$l$K$J$C$F$7$^$C$?%G!<%?9=B$!"(B $B$9$J$o$A(B
            $BI,$:$7$b(B'\0' $B$G=*$o$C$F$$$J$$8GDjD9$N!HJ8;zNs!I$r07$&$?$a$K@_7W$5$l$?!#(B
            $B3N$+$K$3$N!HJ8;zNs!I0J30$r07$&$H$-$O>/$74VH4$1$G$"$k!#(B $B$7$P$7$PL\E*$NJ8(B
            $B;zNs$K!"(B $B<+J,$G(B'\0' $B$rDI2C$7$J$1$l$P$J$i$J$$!#(B

Q12.2:      $BJ8;zNs$NG[Ns$r(Bqsort $B$G@0Ns$9$k$N$K!"(B strcmp $B$rHf3SMQ$N4X?t$H$7$F;HMQ$7$F(B
            $B$$$k$,!"(B $B$&$^$/$$$+$J$$!#(B

A12.2:        $B!VJ8;zNs$NG[Ns!W(B $B$H$O$?$V$s(B $B!V(Bchar $B$X$N%]%$%s%?$+$i$J$kG[Ns!W(B $B$r0UL#$7$F$$(B
            $B$k$H;W$&!#(B qsort $B$NHf3SMQ$N4X?t$N0z?t$O!"(B $B@0Ns$NBP>]$X$N%]%$%s%?$G$"$k!#(B $B$3(B
            $B$3$G$O(Bchar $B$X$N%]%$%s%?$X$N%]%$%s%?$G$"$k(B(strcmp $B$O$b$A$m$s(Bchar $B$X$N%](B
            $B%$%s%?$r0z?t$H$9$k(B)$B!#(B

            $BHf3SMQ$N4X?t$N0z?t$O(B $B!VHFMQ$N%]%$%s%?!W!"(B $B$9$J$o$A(Bconst  void  *$B$"$k$$$O(B
            char  *$B$G$"$i$o$5$l$k!#(B $B$3$l$r<B:]$N7?(B(char  **) $B$KLa$7$F4V@\;2>H$9$k$H(B
            char  *$B$rF@$k!#$3$l$OHf3S$K;H$($k!#0J2<$N$h$&$JHf3S$N4X?t$rMQ0U$9$k$3$H!#(B

            int  pstrcmp(p1,  p2)             /*  $B%]%$%s%?$rDL$7$FJ8;zNs$rHf3S$9$k(B */
            char  *p1,  *p2;                     /*  ANSI  C $B$G$O(Bconst  void  *  */
            {
          return  strcmp(*(char  **)p1,  *(char  **)p2);
            }

            [K&R II]  Sec.   5.11  pp.   119-20 $B$N5DO@$rFI$`$H$-$OMQ?4$9$k$3$H!#(B $B$=$3$G$O(B
            ANSI $B5,3J$N%i%$%V%i%j$N(Bqsort $B$r5DO@$7$F$$$k$o$1$G$O$J$$!#(B

Q12.3:      qsort $B$r;H$C$F9=B$BN$NG[Ns$r@0Ns$7$h$&$H$7$F$$$k!#(B $B;d$,=q$$$?Hf3S%k!<%A(B
            $B%s$O!"(B $B9=B$BN$X$N%]%$%s%?$r0z?t$H$7$F<h$k!#(B $B$1$l$I%3%s%Q%$%i$O!"(B $B;d$N4X?t(B
            $B$,(Bqsort $B$N0z?t$H$7$F$O4V0c$C$?%G!<%?7?$@$HJ86g$rIU$1$k!#(B $B4X?t$X$N%]%$%s(B
            $B%?$r$I$N$h$&$K%-%c%9%H$9$l$P7Y9p$r>C$75n$k$3$H$,$G$-$k$N$+!#(B

A12.3:      $B7?$NJQ49$rHf3S4X?tFb$G9T$o$J$1$l$P$J$i$J$$!#(B $BHf3S4X?t$O>e$N(BQ12.2 $B$G5DO@(B
            $B$7$?$h$&$K(B $B!VHFMQ$N%]%$%s%?!W(B (const  void  *$B$^$?$O(Bchar  *) $B$r0z?t$H$7$F<h(B
            $B$k$H@k8@$5$l$F$J$1$l$P$J$i$J$$!#(B $B%3!<%I$O0J2<$N$h$&$K$J$k$@$m$&!#(B

            int  mystructcmp(p1,  p2)
           char  *p1,  *p2;  /*  ANSI  C $B$N>l9g$O(Bconst  void  *  */

              {
             struct  mystruct  *sp1  =  (struct  mystruct  *)p1;
             struct  mystruct  *sp2  =  (struct  mystruct  *)p2;
             /*  $B$3$l$+$i(Bsp1->whatever $B$H(Bsp2->  ... $B$rHf3S$9$k(B */
              }

            ($B0lJ}!"(B $B9=B$BN$X$N%]%$%s%?$r@0Ns$9$k$N$G$"$l$P(BQ12.2 $B$N$h$&$K4V@\;2>H$,(B
            $BI,MW$G$"$k!#(B sp1  =  *(struct  mystruct  **)p1)

Q12.4:      $B$I$&$9$l$P?t$rJ8;zNs$KJQ49$9$k$3$H$,$G$-$k$+(B(atoi $B$NH?BP(B)$B!#(B $B4X?t(Bitoa $B$H$$(B
            $B$&$N$OB8:_$9$k$N$+!#(B

A12.4:      $B$J$K$b9M$($:$K(Bsprintf $B$r;H$((B($B7k2L$r3JG<$9$k$N$KNN0h$rMQ0U$7$F$*$+$J$1(B
            $B$l$P$J$i$J$$!#(B Q3.1 $B$H(BQ3.2 $B$r;2>H$N$3$H!#(B $B!V(Bsprintf $B$O$d$j$9$.$@!#(B $B<B9T;~4V(B
            $B$H%3!<%INN0h$rL5BL8/$$$9$k!#!W(B $B$H$$$&@<$OL5;k$9$k$3$H!#(B $B$H$K$+$/F0$/$s$@(B
            $B$+$i(B)$B!#(B

            References:  [K&R I] Sec.  3.6 p.  60; [K&R II] Sec.  3.6 p.  64.

Q12.5:      C $B$N%W%m%0%i%`$G;~9o$rF@$k$N$O$I$&$9$l$P$h$$$+!#(B

A12.5:      $B4X?t(Btime$B!"(Bctime$B!"(Blocaltime $B$r;H$&(B($B$3$l$i$N4X?t$O@N$+$iB8:_$9$k$7(BANSI $B5,(B
            $B3J$NCf$K$bB8:_$9$k(B)$B!#(B $B0J2<$K%5%s%W%k%W%m%0%i%`$r:\$;$F$*$/!#(B

            #include  <stdio.h>
            #include  <time.h>
            main()
            {
                   time_t  now  =  time((time_t  *)NULL);
                   printf("It's  %.24s.  \n",  ctime(&now));
                   return  0;
            }

            References:  [ANSI] Sec.  4.12 .

Q12.6:      $B%i%$%V%i%j4X?t(Blocaltime $B$O(Btime_t $B$r9=B$BN(Btm $B$KJQ49$9$k$3$H$H!"(B ctime $B$O(B
            time_t $B$r0u:~2DG=$JJ8;zNs$KJQ49$9$k$H$$$&$3$H$OCN$C$F$$$k!#(B $B$5$F9=B$BN(B
            tm $B$dJ8;zNs$r(Btime_t $B$KJQ49$9$k5UJQ49$O$I$&$d$C$F$*$3$J$($P$h$$$+!#(B

A12.6:      ANSI C $B$O!"(B $B9=B$BN(Btm $B$r(Btime_t $B$KJQ49$9$k%i%$%V%i%j4X?t(Bmktime $B$rMQ0U$7(B
            $B$F$$$k!#(B $B<j85$N%3%s%Q%$%i$,$^$@(Bmktime $B$rMQ0U$7$F$$$J$$$H$-$O!"(B $B%Q%V%j%C(B
            $B%/%I%a%$%s$N$b$N$,$$$/$D$+=P$^$o$C$F$$$k$N$GC5$7$F$_$k$3$H!#(B

            $BJ8;zNs$r(Btime_t $B$KJQ49$9$k$N$O!"(B $B$b$&>/$79|$,@^$l$k!#(B $B$J$<$J$i2r@O$7$J$1(B
            $B$l$P$J$i$J$$F|IU$d;~4V$N%U%)!<%^%C%H$N<oN`$,9-HO0O$K$o$?$k$+$i$G$"$k!#(B
            strptime $B$H$$$&4X?t$rMQ0U$7$F$$$k%7%9%F%`$b$"$k!#(B $BB>$K?M5$$N$"$k%k!<%A%s(B
            $B$H$7$F$O(Bpartime(RCS $B$N%Q%C%1!<%8$H$H$b$KG[I[$5$l$F$$$k(B) $B$,$"$k!#(B $B$7$+$7(B
            $BN><T$H$bI8=`$K$J$j$=$&$K$O$J$$!#(B

            References:  [K&R II]  Sec.   B10  p.   256;  [H&S]  Sec.   20.4  p.   361;  [ANSI]Sec.
            4.12.2.3 .

Q12.7:      $B$"$kF|$+$i(Bn $BF|8e$,2?7n2?F|$+$r$I$&$d$C$F7W;;$9$k$N$+!#(B 2 $B$D$NF|IU$N:9$O(B
            $B$I$&$d$C$F7W;;$9$k$N$+!#(B

A12.7:      ANSI/ISO $B5,3J$N(BC $B8@8l$O!"(B mktime $B$H(Bdifftime $B$H$$$&4X?t$r!"(B $B<ALd$NMW5a$K(B
            $BEz$($k$?$a$KMQ0U$7$F$$$k!#(B mktime $B$O@55,2=$5$l$F$$$J$$F|IU$r0z?t$K<h$k!#(B
            $B%G!<%?$r@_Dj:Q$_$N9=B$BN(Btm $B$rMQ0U$7$F!"(B tm_field $B%U%#!<%k%I$KF|IU$rB-$7(B
            $B$?$j0z$$$?$j$7$F$+$i(Bmktime $B$r8F$s$GG/!&7n!&F|$N%U%#!<%k%I$r@55,2=(B($B$=$7(B
            $B$F(Btime_t $B7?$NCM$KJQ49$9$k(B) $B$9$k$3$H$OFq$7$/$J$$!#(B difftime $B$OFs$D$N(Btime_t
            $B$NCM$N:9$rIC$G7W;;$9$k!#(B $B0z$-;;$K;H$&F|IU$N(Btime_t $B$r7W;;$9$k$N$K(Bmktime
            $B$r;H$&$3$H$,$G$-$k(B(time_t $B$GI=8=$G$-$kF|IU$K$7$+$3$NJ}K!$O;H$($J$$$3$H(B
            $B$H!"(B $B0lF|$O$$$D$b(B86400 $BIC$H$O8B$i$J$$$3$H$KCm0U$;$h(B)$B!#(B Q12.6 $B$H(BQ17.28 $B$b(B
            $B;2>H$N$3$H!#(B

            References:  [K&R II]  Sec.  B10  p.  256;  [H&S]  Secs.  20.4,  20.5  pp.  361-362;
            [ANSI] Secs.  4.12.2.2, 4.12.2.3 .

Q12.8:      $BMp?tH/@84o$,M_$7$$!#(B

A12.8:      $BI8=`$N(BC $B%i%$%V%i%j$K(Brand() $B$H$$$&$N$,B8:_$9$k!#(B $B7/$,;H$C$F$$$k%7%9%F%`(B
            $B$N(Brand $B$N<BAu$O40`z$G$J$$$+$b$7$l$J$$$,!"(B $B$h$j$h$$4X?t$r=q$/$N$OMF0W$G(B
            $B$J$$$3$H$b;v<B$G$"$k!#(B

            References:  [ANSI] Sec.  4.10.2.1 p.  154; [Knuth] Vol.  2 Chap.  3 pp.  1-177.

Q12.9:      $B$"$kHO0O$N@0?t$+$i$J$kMp?t$O$I$&$d$C$?$i@8@.$9$k$3$H$,$G$-$k$+!#(B

A12.9:      $B$9$0$K;W$$IU$/!"(B

            rand()  %  N

            ($B$3$3$GEvA3(BN $B$,HO0O$G$"$k(B) $B$OMp?t$N<A$,Dc$$!#(B $B$J$<$J$iMp?tH/@84o$NB?$/$G(B
            $B2<0L$N%S%C%H$OHa;4$J$[$I%i%s%@%`$G$J$$(B(Q12.11 $B$r;2>H$N$3$H(B)$B!#(B $B$h$j$h$$J}(B
            $BK!$O0J2<$N$h$&$J$b$N$G$"$k!#(B

            (int)((double)rand()  /  ((double)RAND_MAX  +  1)  *  N)

              $BIbF0>.?tE@?t$r;H$&$3$H$,5$$K$J$k$N$J$i!"(B $B0J2<$NJ}K!$r;n$;$P$h$$!#(B

              rand()  /  (RAND_MAX  /  N  +  1)

              $B$I$A$i$NJ}K!$b(BRAND_MAX(ANSI $B$O(B<stdlib.c>$B$GDj5A$7$F$$$k(B) $B$NB8:_$rCN$C$F(B
              $B$$$k$3$H$,EvA3I,MW$G$"$k!#(B $B$^$?$I$A$i$b(BN $B$,(BRAND_MAX $B$K$/$i$Y$F==J,>.$5(B
              $B$$$3$H$r2>Dj$7$F$$$k!#(B

Q12.10:       $B;d$N%W%m%0%i%`$rAv$i$;$k$?$S!"(B $B$$$D$b4X?t(Brand() $B$+$iF1$8Mp?tNs$,JV$C$F(B
              $B$/$k!#(B

A12.10:       $B$b$C$HG$0U$N?t$rJV$9$h$&$JMp?tNs$,I,MW$J$i!"(B $B5<;wMp?tNs$K<o$r$d$k(Bsrand()
              $B$r;H$($P$h$$!#(B $B$h$/$"$kMp?t$N:G=i$N<o$O!"(B $B;~9o$d%f!<%6!<$,%-!<$r2!$7$F$+(B
              $B$i$N7P2a;~4V$G$"$k(B($B$?$@$7%-!<$,2!$5$l$?;~4V$H$$$&$N$O0\?"@-$N9b$$J}K!(B
              $B$G$O5a$a$K$/$$!#(B Q16.10 $B$r;2>H$N$3$H(B)$B!#(B

              References:  [ANSI] Sec.  4.10.2.2 p.  154.

Q12.11:       $B??56CM$+$i$J$kMp?t$,M_$7$$$N$G(Brand()  %  2 $B$r;H$C$?$H$3$m!"(B $B7k2L$O(B0 $B$H(B1
              $B$,8r8_$K8=$l$k$@$1$@$C$?!#(B

A12.11:       $B$J$5$1$J$$5<;wMp?tH/@84o$O(B($B$$$/$D$+$N%7%9%F%`$K>h$C$F$$$k$b$N$OIT9,$J(B
              $B$3$H$K$=$&$G$"$k(B) $B2<0L$N%S%C%H$O$"$^$j%i%s%@%`$G$O$J$$!#(B $B>e0L$N%S%C%H$r(B
              $B;H$&$3$H!#(B Q12.9 $B$r;2>H$N$3$H!#(B

Q12.12:       $B8E$$%W%m%0%i%`$r0\?"$7$h$&$H$7$F$$$k!#(B $B$J$<(B $B!VL$Dj5A$N30It%7%s%\%k!W(B $B$H$$(B
              $B$&%(%i!<$,=P$k$N$+!#(B

A12.12:       $B$3$l$+$i(B($B:8B&$K(B) $B5s$2$k%k!<%A%s$O$=$l$>$l;~BeCY$l$G$"$k!#(B $BBe$o$j$K1&B&$N(B
              $B%k!<%A%s$r;H$(!#(B

                index?          strchr
                rindex?         strrchr
                bcopy?          $B0lHVL\$N0z?t$HFsHVL\$N0z?t$rF~$lBX$($F(Bmemmove $B$r;H$((B(Q5.15 $B$b;2>H(B)$B!#(B
                bcmp?           memcmp
                bzero?          $BFsHVL\$N0z?t$r(B0 $B$K$7$F(Bmemset $B$r;H$(!#(B

Q12.13:        $B!V%i%$%V%i%j$N%k!<%A%s$,L$Dj5A!W$H$$$&%(%i!<$,=P$?$^$^$G$"$k!#@5$7$$%X%C(B
              $B%@!<%U%!%$%k$r$9$Y$F%$%s%/%k!<%I$7$?$N$K!#(B

A12.13:       $B$$$/$D$+$N>l9g(B($BFC$K%k!<%A%s$,I8=`$G$J$$>l9g(B)$B!"(B $B%W%m%0%i%`$r%j%s%/$9$k$H(B
              $B$-$K!"(B $B@5$7$$%i%$%V%i%j$,8+$D$+$k$h$&$K!"(B $BL@<(E*$K%Q%9$r;XDj$7$J$1$l$P$J(B
              $B$i$J$$!#(B Q15.2 $B$r;2>H$N$3$H!#(B

Q12.14:       $B$=$l$G$b(B $B!V%i%$%V%i%j$N%k!<%A%s$,L$Dj5A!W(B $B$H$$$&%(%i!<$,=P$?$^$^$G$"$k!#(B
              $B:#EY$O%j%s%/$9$k$H$-$K(B-l $B$rIU$1$F%i%$%V%i%j$r;XDj$7$?$N$K!#(B

A12.14:       $BB?$/$N%j%s%+!<$O!"(B $B;XDj$7$?%*%V%8%'%/%H%U%!%$%k$H%i%$%V%i%j$N%j%9%H$r0l(B
              $B2s$N%Q%9$G:n$j=P$7!"(B $B%i%$%V%i%j$+$i$=$N;~E@$GL$Dj5A$N4X?t$r4^$`%b%8%e!<(B
              $B%k$@$1$r<h$j=P$9!#(B $B$@$+$i%*%V%8%'%/%H%U%!%$%k$H%i%$%V%i%j$N%3%^%s%I%i%$(B
              $B%s$G$N=g=x$O=EMW$G$"$k(B($B%*%V%8%'%/%H%U%!%$%k4V$N=g=x$bBg;v$G$"$k(B)$B!#(B $B$?$$(B
              $B$F$$%i%$%V%i%j$O:G8e$KC5$7$F$b$i$$$?$$(B($BNc$($P!"(B UNIX $B$G$O(B-l $B%9%$%C%A$N(B
              $BN`$O$9$Y$F%3%^%s%I%i%$%s$N:G8e$N$[$&$KIU$1$k$3$H(B)$B!#(B

Q12.15:       $B@55,I=8=$r;H$C$FHf3S$r$9$k%3!<%I$,I,MW$H$J$C$?!#(B

A12.15:       regexp $B%i%$%V%i%j(B($BB?$/$N(BUNIX $B%7%9%F%`$K$OMQ0U$5$l$F$$$k(B) $B$rC5$9$+!"(BHenry
              Spencer $B$N(Bregexp $B%i%$%V%i%j$r(Bcs.toronto.edu $B$N(Bpub/regexp.shar.Z $B$+$iF~<j(B
              $B$7$m(B(Q17.12 $B$b;2>H$N$3$H(B)$B!#(B

Q12.16:       $B6uGr$K$h$C$F6h@Z$i$l$?0z?t$+$i$J$k%3%^%s%I9T$,$"$k!#(B $B$3$l$r(Bmain $B4X?t$N(B
              $B0z?t$H$7$FM?$($i$l$k(Bargc $B$H(Bargv $B$N$h$&$KJ,$1$k$K$O$I$&$9$l$P$h$$$+!#(B

A12.16:       $B$?$$$F$$$N%7%9%F%`$O(Bstrtok $B$H$$$&%k!<%A%s$r;}$C$F$$$k!#(B $B$?$@$7;H$&$K$O%3(B
              $B%D$,$$$k$7!"(B $B$d$j$?$$$3$H$rA4It$d$C$F$/$l$k$H$O8B$i$J$$(B($BNc$($P0zMQId$N(B
              $BLdBj(B)$B!#(B

              References:  [ANSI]  Sec.  4.11.5.8;  [K&R II]  Sec.  B3  p.  250;  [H&S]  Sec.  15.7;
              [PCS] p.  178.

13          Lint

Q13.1:      $B%W%m%0%i%`$rBG$A9~$s$@$H$3$m$@$1$l$I!"(B $B$3$N%W%m%0%i%`$O4qL/$JF0$-$r$9$k!#(B
            $B$I$3$+JQ$J$H$3$m$,$"$k$+!#(B

A13.1:      $B$^$:$O(Blint $B$r(B(-a$B!"(B -c$B!"(B -h$B!"(B -p $B$dB>$N%*%W%7%g%s$r$D$1$F(B) $BF0$+$7$F$_$k$3$H!#(B
            $BB?$/$N(BC $B%3%s%Q%$%i$O!"(B $B<B:]$K$O%3%s%Q%$%i$N;E;v$NH>J,$7$+$7$F$$$J$$!#(B $B$D(B
            $B$^$j%=!<%9%3!<%I$NLdBjE@$N?GCG$O!"(B $B%3!<%I$N@8@.$N<YKb$K$J$i$J$$8B$j$7$J(B
            $B$$$3$H$K$J$C$F$$$k!#(B

Q13.2:      malloc $B$r8F$V$?$S$K(Blint $B$,=P$9(B $B!V7Y9p(B:$B%]%$%s%?$N@09g$KLdBj$,$"$k$+$b$7$l(B
            $B$J$$(B(warning:possible  pointer  alignment  problem)$B!W(B $B$H$$$&%a%C%;!<%8$r>C$9(B
            $BJ}K!$O$"$k$+!#(B

A13.2:      $BLdBj$O8E$$(Blint $B$,!"(B malloc $B$,(B $B!V$I$s$J7?$N%*%V%8%'%/%H$b$&$^$/<}$^$k$h$&$K(B
            $B@09g$7$?NN0h$X$N%]%$%s%?$rJV$9!W(B $B$H$$$&$3$H$rCN$i$J$$$7!"(B $B65$($k<jCJ$b$J(B
            $B$$$H$$$&$3$H$G$"$k!#(B #ifdef  lint $B$N$J$+$G5<;wE*$J(Bmalloc $B$r(B#define $B$7$F(B
            $B$3$N%a%C%;!<%8$r>C$9$3$H$O2DG=$G$"$k$,!"(B $B$=$s$J$3$H$r$9$l$PK\Ev$K4V0c$C(B
            $B$?;HMQK!$KBP$7$F$bBg;v$J%a%C%;!<%8$,=P$J$/$J$C$F$7$^$&!#(B grep  -v $B$r;H$C(B
            $B$F>!<j$KL5;k$9$k$[$&$,$d$5$7$$!#(B

Q13.3:      ANSI $B8_49$N(Blint $B$O$I$3$G<j$KF~$k$+!#(B

A13.3:      Flexlint $B$H$$$&@=IJ$,(B($B%7%e%l%C%@!<$K$+$1$?$h$&$J%=!<%9$GDs6!$5$l$k!#(B $B$3$l(B
            $B$O$?$$$F$$$N%7%9%F%`$G%3%s%Q%$%k2DG=$G$"$k(B)$B!"(B

            Gimpel  Software
            3207  Hogarth  Lane
            Collegeville,  PA  19426  USA
            (+1)  610  584  4261
            gimpel@netaxs.com

            $B$+$iF~<j2DG=$G$"$k!#(B SVR4 $B$N(Blint $B$O(BANSI $B8_49$G!"(B UNIX  Support  Labs $B$"(B
            $B$k$$$O(BSYSTEM  V $B$N:FHN6H<T$+$i(B($BB>$N(BC $B8@8lMQ%D!<%k$H6&$K(B) $B9XF~2DG=$G(B
            $B$"$k!#(B

            $B$b$&0l$D$N(BANSI $B8_49$N(Blint $B$H$7$F$O(BLCLint $B$,$"$k(B($BCj>]EY$N9b$$7A<0E*;EMM(B
            $B$N8!::$b2DG=$G$"$k(B)$B!#$3$l$O(B
            larch.lcs.mit.edu://pub/Larch/lclint/$B$+$i(Banonymous ftp $B2D(B
            $BG=$G$"$k!#(B

            lint $B$,$J$/$F$b!"(B $B:G6a$N%3%s%Q%$%i$O!"(B $B$h$/$G$-$?(Blint $B$HF1$8$/$i$$$NB?$/$N(B
            $B<oN`$N?GCG$r$7$h$&$H$9$k!#(B

14          $B%9%?%$%k(B

Q14.1:      $B$[$i!"(B $B$3$N$o$6$r8+$F!#(B
            if  (!strcmp(s1,  s2))
            $B$3$l$O$h$$=q$-J}(B?

A14.1:      $B$H$/$K$h$$=q$-J}$H$$$&$3$H$O$J$$!#(B $B$?$@$7?M5$$N$"$k=q$-J}$G$O$"$k!#(B $B$3$N(B
            $B%F%9%H$O!"(B $BFs$D$NJ8;zNs$,F1$8$H$-$K@.8y$9$k!#(B $B$7$+$7$3$N7A$OEy$7$/$J$$$3(B
            $B$H$r%F%9%H$7$F$$$k$h$&$K$_$($k!#(B

            $B%^%/%m$r;H$C$?$=$N$[$+$NJ}K!$H$7$F!"(B $B0J2<$N$h$&$J$b$N$,$"$k!#(B

            #define  Streq(s1,  s2)  (strcmp((s1),  (s2))  ==  0)

            $B%3!<%G%#%s%0%9%?%$%k$K4X$9$k9M$(J}$O!"(B $B=!65$K4X$9$k9M$(J}$HF1$8$G!"(B $B5DO@(B
            $B$K=*$j$,$J$$!#(B $B$h$$=q$-J}$O2ACM$"$kL\I8$G$"$k$7!"(B $B$?$$$F$$$O8+$l$P$h$$$+(B
            $B0-$$$+$o$+$k$,!"(B $BJ8>O$K$9$k$3$H$O$G$-$J$$!#(B

Q14.2:      C $B$N%3!<%I$N=q$-J}$G:GNI$N$b$N$O!#(B

A14.2:      K&R $B$G$"$k!#(B $B$7$P$7$PE>:\$5$l$kNI$$Nc$r:\$;$F$$$k$@$1$G$J$/!"(B $BHr$1$k$Y(B
            $B$-0-$$Nc$K$O!"(B $BN)GI$JM}M3$b:\$;$F$$$k!#(B

 $B3g8L$N0LCV$O$?$$$7$FLdBj$G$O$J$$!#(B $B$?$@$7?M$O3g8L$N0LCV$K6/(B
         $B$$?.G0$rJz$$$F$$$k!#(B $B2f!9$O@$$K$"$k$$$/$D$+$NNc$+$iA*$s$@$@$1$G(B
         $B$"$k!#(B $B<+J,$K8~$$$F$$$k=q$-J}$r<h$jF~$l$F!"(B $B<sHx0l4S$7$F;H$$$D$E(B
         $B$1$k$3$H!#(B

            $BBg;v$J$N$O%3!<%I$NG[CV$,!H40A4$J!I$3$H$h$j$b!"(B $BA*$s$@%3!<%I$NG[CV$r<sHx0l(B
            $B4S$7$F;H$&$3$H$G$"$k(B($B$=$l<+?H!"(B $B2s$j$N%3!<%I$H!"(B $B$"$k$$$O6&DLIt$H(B)$B!#(B $B$b$7(B
            $B7/$,%3!<%G%#%s%0$r9T$&$H$-$N4D6-$,(B($B$?$H$($P?&>l$N=,47$d2q<R$NJ}?K(B) $B%3!<(B
            $B%G%#%s%0%9%?%$%k$r<($7$F$$$J$/$F!"(B $B<+J,<+?H$N=q$-J}$r;:$_=P$95$$b$J$$$N(B
            $B$J$i!"(B $BC1$K(BK&R $B$r$^$M$l$P$h$$!#(B ($B;z2<$2$d3g8L$N0LCV$N%H%l!<%I%*%U$K4X$9(B
            $B$kD4::$O!"(B $BE0DlE*$+$D:Y$+$/9T$&$3$H$,$G$-$k!#(B $B$7$+$7$3$3$G$O5DO@$r7+$jJV(B
            $B$5$J$$!#(B $B%$%s%G%#%"%s%R%k%9%?%$%k%,%$%I$r;2>H$N$3$H(B)$B!#(B

     $BDj5A$7$K$/$$!H$h$$%9%?%$%k!I$,;}$DFC<A$K$O!"(B $B%3!<%I$NG[CV$N(B
     $B>\:Y0J>e$N$b$N$,$"$k!#(B $B$h$jBg;v$J%3!<%I$N<A$NLdBj$rH4$-$K$7$F(B
     $BBN:[$K;~4V$r3d$+$J$$$3$H!#(B

            References:  [K&R I] [K&R II] Sec.  1.2 p.  10.

Q14.3:      $B%$%s%G%#%"%s%R%k%9%?%$%k%,%$%I$d$=$N$[$+$N%3!<%G%#%s%05,Ls$r$I$3$+$i<j(B
            $B$KF~$l$k$3$H$,$G$-$k$N$+!#(B

A14.3:      $BMM!9$J;qNA$,(Banonymous ftp $B$K$h$jF~<j2DG=$G$"$k!#(B
            _________________________________________________________________
            $B>l=j(B                             $B%U%!%$%k$"$k$$$O%G%#%l%/%H%j(B
            _________________________________________________________________
              cs.washington.edu              ftp/pub/cstyle.tar.Z
              (128.95.1.4)                  ($B%$%s%G%#%"%s%R%k%,%$%I$N2~D{HG(B)                      
              cs.toronto.edu                doc/programming                                       
              ftp.cs.umd.edu                pub/style-guide                                       

15          $BIbF0>.?tE@?t(B

Q15.1:      $BIbF0>.?tE@?t$r;H$C$?7W;;$N7k2L$,JQ$G!"$7$+$b%^%7%s$K$h$C$F0c$C$?Ez$,JV$C(B
            $B$F$/$k!#(B

A15.1:      $B:G=i$K(B#include  <math.h>$B$7$?$+$I$&$+!"(B $B<!$K(Bdouble $B$rJV$94X?t$r@5$7$/@k(B
            $B8@$7$?$+$I$&$+3N$+$a$k$3$H!#(B

            $BLdBj$,$=$s$J$KC1=c$G$J$$$H$-$O!"(B $B%G%8%?%k%3%s%T%e!<%?$,;H$C$F$$$kIbF0>.(B
            $B?tE@?t$N%U%)!<%^%C%H$O!"(B $B<B?t$N1i;;$N$h$/$G$-$?%7%_%e%l!<%7%g%s$rM?$($k(B
            $B$b$N$G$"$C$F!"(B $B7h$7$F@53N$J%7%_%e%l!<%7%g%s$rM?$($k$b$N$G$O$J$$$3$H$r$*(B
            $BK:$l$J$/!#(B $BFC$K!"(B $B7k9gB'$HJ,G[B'$O>o$K@.N)$9$k$o$1$G$O$J$$(B($B<B9T$N=g$K0U(B
            $BL#$,$"$k$+$b$7$l$J$$$H$$$&$3$H!#(B $BB-$7;;$N$/$jJV$7$,!"(B $BI,$:$7$b3]$1;;$KEy(B
            $B$7$/$J$$$H$$$&$3$H(B)$B!#(B $B%"%s%@!<%U%m!<$d!"(B $B@:EY$,=y!9$K<:$o$l$F$$$/$3$H$,Ld(B
            $BBj$K$J$k$H$-$b$"$k!#(B

            $BIbF0>.?tE@?t$N7k2L$,@53N$J$s$F9M$($J$$$3$H!#(B $BFC$K!"(B $BIbF0>.?tE@?t$NCM$,Hf(B
            $B3S$K;H$($k$J$s$F9M$($J$$$3$H(B($B$$$s$A$-$J!H(Bfuzz factor$B!I$r;H$&$3$H$b$M(B)$B!#(B
            $B$3$l$i$O(BC $B8@8l$@$1$G$J$/B>$N%W%m%0%i%`8@8l$G$bLdBj$G$"$k!#(B $BIbF0>.?tE@?t(B
            $B$H$$$&$N$O!"(B $B$?$$$F$$(B $B!V%W%m%;%C%5$,$d$k$3$H$O$J$s$G$b$"$j!W(B $B$H$$$&$U$&$K(B
            $BDj5A$5$l$F$$$k!#(B $B$=$&$G$J$1$l$P!H@5$7$$!IIbF0>.?tE@?t$N%b%G%k$r;}$?$J$$(B
            $B%^%7%s$G$O%(%_%e%l!<%7%g%s$r$9$k$7$+$J$/!"(B $B$=$s$J$3$H$K$J$l$P%3!<%I$N%5(B
            $B%$%:$H=hM}B.EY$,5>@7$K$J$C$F;H$$J*$K$J$i$J$$!#(B

            $B$3$N5-;v$G$O!"(B $BIbF0>.?tE@?t$r07$&:]$NMn$H$77j$dH4$1F;$r$$$A$$$A5s$2$k$3(B
            $B$H$O$G$-$J$$!#(B $B$h$/$G$-$?%W%m%0%i%_%s%0$N652J=q$O!"(B $B4pACE*$J;vJA$r65$($F(B
            $B$/$l$k!#(B

            References:  [EoPS] Sec.  6 pp.  115-8.

Q15.2:      $B$A$g$C$H$7$?;03Q4X?t$N7W;;$,$7$?$/$F(B<math.h>$B$r%$%s%/%k!<%I$7$?$1$l$I(B
            $B!V(B_sin $BL$Dj5A!W(B $B$H$$$&%3%s%Q%$%k%(%i!<$,JV$C$F$-$?!#(B

A15.2:      $B$^$:$O@5$7$$?t3X4X?t$N%i%$%V%i%j$,%j%s%/$5$l$F$$$k$3$H$r3NG'$9$k$3$H!#(B
            $B$?$H$($P(BUNIX $B$G$O%3%s%Q%$%k$"$k$$$O%j%s%/$r$9$k;~$K!"(B $B%3%^%s%I$N0lHV:G(B
            $B8e$K(B-lm $B%*%W%7%g%s$r$D$1$kI,MW$,$"$k!#(B

Q15.3:      $B$J$<(BC $B$K!"(B $BN_>h$,AH$_9~$_4X?t$GMQ0U$5$l$F$$$J$$$N$+!#(B

A15.3:      $B;X?t4X?t$rAH$_9~$_$NL?Na$H$7$F;}$C$F$$$k%W%m%;%C%5$,>/$J$$$+$i$G$"$k!#(B
            $B$+$o$j$K(B#include  <math.h>$B$7$F4X?t(Bpow() $B$r;H$($P$h$$!#(B $B>.$5$J@0?t$,Aj<j(B
            $B$J$i!"(B $B$?$$$F$$$O<+J,$G3]$1;;$r;H$C$F=q$$$?$[$&$,$h$$!#(B

            References:  [ANSI] Sec.  4.5.5.1.

Q15.4:      $B;M<N8^F~$N;EJ}$O!#(B

A15.4:      $B0lHVC1=c$GMF0W$J$N$O0J2<$N$h$&$J%3!<%I$r=q$/$3$H$G$"$k!#(B
            (int)(x  +  0.5)
            $B$7$+$7$3$NJ}K!$OIi$N?t$KBP$7$F$O$&$^$/$$$+$J$$!#(B

Q15.5:      IEEE $B$N(BNan $B$d!"(B $B$=$NB>$NFCJL$JCM$+$I$&$+$N%F%9%H$O$I$&$d$l$P$h$$$+!#(B

A15.5:      IEEE $B$NIbF0>.?tE@?t$r9bIJ<A$K<BAu$9$k%7%9%F%`$NB?$/$O!"(B $B$3$l$i$NCM$N%F(B
            $B%9%H$r$-$l$$$K9T$&5!G=(B($BNc$($P(Bisnan() $B%^%/%m(B) $B$rMQ0U$7$F$$$k!#(B C $B8@8l?tCM(B
            $B1i;;3HD%%0%k!<%W(B(the Numerical C Extensions Group:NCEG) $B$O>e$N$h$&$J%F(B
            $B%9%H$NI8=`2=$N:n6H$r9T$C$F$$$k!#(B Nan $B$+$I$&$+$NNO$:$/$@$1$l$I!"(B $B$?$$$F$$(B
            $B$O$&$^$/$$$/%F%9%HJ}K!$r0J2<$NNc$G<($9!#(B

            #define  isnan(x)  ((x)  !=  (x))

            $B$1$l$I(BIEEE $B%U%)!<%^%C%H$rCN$i$J$$%3%s%Q%$%i$O!"(B $B$3$N%F%9%H$r:GE,2=$N7k(B
            $B2L!"(B $B:o=|$9$k$+$b$7$l$J$$!#(B

Q15.6:      Turbo C $B$G:n$C$?%W%m%0%i%`$r<B9T$9$k$H(B $B!VIbF0>.?tE@?t%U%)!<%^%C%H$,%j%s(B
            $B%/$5$l$F$$$J$$!W(B $B$H$$$C$F%/%i%C%7%e$9$k$N$G:$$C$F$$$k!#(B

A15.6:      $B>.7?%^%7%sMQ$N%3%s%Q%$%i$NCf$K$O!"(B Turbo C(Dennis Ritchie $B$N%*%j%8%J%k$N(B
            PDP-11 $BMQ$N%3%s%Q%$%i$b(B) $B$b4^$a$F!"(B $BI,MW$,$J$5$=$&$K$_$($k$H$-$OIbF0>.?t(B
            $BE@?t$X$NBP1~$r<B9T$7$J$$$h$&$K$G$-$F$$$k$b$N$,$"$k!#(B $BFC$KIbF0>.?tE@?t$K(B
            $BBP1~$7$J$$(Bprintf $B$d(Bscanf $B$O(B%e$B!"(B %f$B!"(B %g $B$r07$&%3!<%I$r>JN,$9$k$3$H$G%a%b(B
            $B%j$r@aLs$7$F$$$k!#(B Turbo C $B$,%W%m%0%i%`$,IbF0>.?tE@?t$r;H$C$F$$$k$+$I$&(B
            $B$+$rH=Dj$9$k%k!<%k$O!"(B $B$?$^$?$^IT==J,$J$h$&$G$"$k!#(B $B$=$s$J$H$-$O%W%m%0%i(B
            $B%^$OIbF0>.?tE@?t$KBP1~$7$?%3!<%I$r%m!<%I$9$k$?$a$K!"(B $BL@<(E*$KIbF0>.?tE@(B
            $B?t$r;H$C$?%3!<%I$r%@%_!<$GF~$l$J$1$l$P$$$1$J$$!#(B
            _______________________________________________________________________
            $BLuCm(B:     Turbo   C   $B$G$O%=!<%9%U%!%$%kFb$K(B  extern  void  _floatconvert();
            #pragma  extref floatconvert $B$HL@<(E*$K=q$/$3$H$G!"(B $B$3$N%(%i!<$r2sHr$9$k$3$H$,$G$-$k(B

16          $B%7%9%F%`0MB8(B

Q16.1:      $B$I$&$9$l$P2~9T$rBT$D$3$H$J$/%-!<%\!<%I$+$i0lJ8;zFI$`$3$H$,$G$-$k$+!#(B

A16.1:      $B0lHL$N?M$,?.$8$F$$$k$3$H$dB?$/$N?M$N4uK>$KH?$7$F!"(B $B$3$N<ALd$O(BC $B8@8l$K4X(B
            $B$9$k<ALd$G$O$J$$(B($B$3$l$K$h$/;w$?!"(B $B%-!<%\!<%IF~NO$N%(%3!<%P%C%/$NLdBj$K(B
            $B$D$$$F$bF1MM$G$"$k(B)$B!#(B $BJ8;z$r%-!<%\!<%I$+$i(BC $B$N%W%m%0%i%`$KEO$9$N$O!"(B $B%*%Z(B
            $B%l!<%F%#%s%0%7%9%F%`$N;E;v$G$"$C$F!"(B C $B8@8l$NB&$GI8=`2=$G$-$k$b$N$G$O$J(B
            $B$$!#(B curses $B$N0lIt$O!"(B $B4X?t(Bcbreak() $B$rMQ0U$7$F$$$k!#(B $B$3$l$,K>$_$N5!G=$r2L$?(B
            $B$9J*$G$"$k!#(B $B2hLL$KI=<($9$k$3$H$J$/%Q%9%o!<%I$rFI$_$?$$$H$$$&$N$G$"$l$P(B
            getpass() $B$r;n$;$P$h$$!#(BUNIX $B$G$O!"%?!<%_%J%k%I%i%$%P!<$N%b!<%I$r$$$8$k(B
            $B$N$K(Bioctl $B$r;H$($P$h$$(B(  $B!V8EE5E*$J!W(B $B%7%9%F%`$G$O(BCBREAK $B$d(BRAW$B!"(B SYSTEM
            V $B$d(BPOSIX $B=`5r$N%7%9%F%`$G$O(BICANON$B!"(B c_cc[VMIN]$B!"(B c_cc[VTIME])$B!#(B MS-
            DOS $B$G$O!"(B getch() $B$r;n$9$3$H!#(B VMS $B$G$O!"(B $B%9%/%j!<%s4IM}5!G=(B(SMGZ$) $B$d(B
            curses$B!"(B $B0lEY$K0lJ8;zM_$7$$$N$G$"$l$PDc%l%Y%k$N(B$QIO $B$K(BIO$__READVBLK
            $B$r(B($B$?$V$s(BIO$M__NOECHO $B$bI,MW$@$m$&(B) $BIU$1$F;n$9$3$H!#(B $BB>$N(BO/S $B$G$O<+(B
            $BJ,$G;n$7$F$_$k$3$H!#(B O/S $B$K$h$C$F$O$3$N<j$N:n6H$rIT2DG=$H$7$F$$$k$b$N$,(B
            $B$"$k$3$H$KCm0U!#(B $B$3$N$h$&$J%7%9%F%`$G$OJ8;z$rF~NO9T$K=8$a$k$3$H$O<~JUAu(B
            $BCV$N%W%m%;%C%5$N@)8f2<$K$"$j!"(B $B%W%m%0%i%`$rF0$+$7$F$$$k(BCPU $B$ND>@\$N;Y(B
            $BG[2<$K$O$J$$$+$i$@!#(B

            O/S  $BFCM-$N<ALd$O!"(B comp.lang.c  $B$K$U$5$o$7$/$J$$!#(B $B$h$/$"$k<ALd$NB?$/$O(B
            FAQ(Frequently Asked Questions) $B$X$N2rEz$H$7$F(Bcomp.unix.questions $B$d(Bcomp.os.msdos.programmer
            $B$H$$$C$?%0%k!<%W$KEj9F$5$l$F$$$k!#(B $B%7%9%F%`$,0c$C$F$b2rEz$O6&DL$G$"$k$3(B
            $B$H$,B?$$$,!"(B $B%7%9%F%`FCM-$N<ALd$KEz$($k$H$-$O!"(B $B7/$N%7%9%F%`$K$"$F$O$^$k(B
            $B2rEz$,B>$N?MA4It$K$"$F$O$^$k2rEz$G$J$$$+$b$7$l$J$$$3$H$KCm0U$9$k$3$H!#(B

            References:  [PCS] Sec.  10 pp.  128-9, Sec.  10.1 pp.  130-1.

Q16.2:      $BFI$_<h$k$3$H$,$G$-$kJ8;z$,;D$C$F$$$k$+$I$&$+(B($B$G$-$k$J$i8e$$$/$D;D$C$F(B
            $B$$$k$+(B) $BCN$k$3$H$,$G$-$k$+!#(B $B$G$-$J$$$H$7$?$i!"(B $BJ8;z$,F~$C$F$3$J$$$H$-$K(B
            $B=hM}$,;_$^$C$F$7$^$o$J$$$h$&$JFI$_<h$j$+$?$O$I$&$d$l$P$h$$$+!#(B

A16.2:      $B$3$l$b!"(B $B$^$C$?$/(BO/S $B$K0MB8$7$?LdBj$G$"$k!#(B curses $B$NCf$K$O!"(B $B$=$N$h$&$J(B
            $BL\E*$N$?$a$K4X?t(Bnodelay() $B$rMQ0U$7$F$$$k$b$N$b$$$k!#(B $B%7%9%F%`$K$h$C$F$O!"(B
            $B!V%V%m%C%/$7$J$$(BI/O$B!W(B $B$d(B $B!V(Bselect$B!W(B $B$H$$$&L>$N%7%9%F%`%3!<%k!"(B FIONREAD
            ioctl$B!"(B kbhit()$B!"(B rdchk()$B!"(B $B$"$k$$$O4X?t(Bopen() $B$d(Bfcntl() $B$N(BO_NDELAY $B%*%W%7%g(B
            $B%s$r;H$&$3$H$,$G$-$k!#(B

Q16.3:      $B$I$&$9$l$P2hLL$r%/%j%"$9$k$3$H$,$G$-$k$+!#(B $B$I$&$9$l$PH?E>J8;z$G=PNO$9$k(B
            $B$3$H$,$G$-$k$+!#(B

A16.3:      $B$3$N<j$NOC$O!"(B $BC<Kv$N7?$dI=<($N<oN`$K:81&$5$l$k!#(B termcap $B$d(Bcurses $B$N$h$&(B
            $B$J%i%$%V%i%j!"(B $B$"$k$$$O%7%9%F%`8GM-$N%k!<%A%s$r;H$o$J$1$l$P$$$1$J$$!#(B

Q16.4:      $B$I$&$9$l$P%^%&%9$N=PNO$rFI$`$3$H$,$G$-$k$+!#(B

A16.4:      $BBP>]$H$9$k%7%9%F%`$N;qNA$K$"$?$k$3$H!#(B $B$"$k$$$OBP>]$H$9$k%7%9%F%`@lLg$N(B
            $BE,@Z$J%K%e!<%9%0%k!<%W$G$?$:$M$k$3$H(B($BEvA3(BFAQ $B$N%j%9%H$r@h$KD4$Y$k$3(B
            $B$H(B)$B!#(B $B%^%&%9$N<h$j07$$$O!"(B X $B%&%$%s%I%&$H(BMS-DOS $B$H(BMacintosh $B$G$O$^$C$?(B
            $B$/0[$J$k!#(B $B$?$V$sB>$N%7%9%F%`$G$b0[$J$k$@$m$&!#(B

Q16.5:      $B$I$&$9$l$P%W%m%0%i%`$,5/F0$5$l$?$H$-$N@dBP%Q%9$rCN$k$3$H$,$G$-$k$+!#(B

A16.5:      argv[0] $B$K@dBP%Q%9$,F~$C$F$$$k$+$b$7$l$J$$$7!"(B $B2?$bF~$C$F$$$J$$$+$b$7$l(B
            $B$J$$!#(B argv[0] $B$K%Q%9L>$,F~$C$F$$$k$,40A4$G$J$$$H$-$O!"(B $B%7%'%k$,%3%^%s%I(B
            $B$rC5$9%m%8%C%/$r??;w$l$P$$$$!#(B $B$7$+$7$J$,$i3N<B$JJ}K!$b0\?"@-$N$"$kJ}K!(B
            $B$bB8:_$7$J$$!#(B

Q16.6:      $B$I$&$9$l$P!"(B $B5/F0$7$?B&$N!"(B $B$D$^$j?F%W%m%;%9$N4D6-JQ?t$rJQ99$9$k$3$H$,$G(B
            $B$-$k$+!#(B

A16.6:      $B0lHL$K$$$($P!"(B $B$G$-$J$$!#(B $B$=$l$>$l$N(BO/S $B$,!"(B $BJQ?tL>$HCM$r7k$SIU$1$k(BUNIX
            $B$KN`;w$N5!G=$r!"(B $B$=$l$>$l$NJ}K!$G<BAu$7$F$$$k!#(B $B!H4D6-!I$,5/F0Cf$N%W%m%0%i(B
            $B%`$K$h$C$FET9g$h$/JQ99$G$-$k$+$I$&$+$H!"(B $B$G$-$k$H$9$l$P$=$NJ}K!$O!"(B $B%7%9(B
            $B%F%`$K0MB8$9$k!#(B

            UNIX $B$N%W%m%;%9$O<+J,$N4D6-$rJQ99$9$k$3$H$,$G$-$k(B(setenv() $B$d(Bputenv()
            $B$r$3$NL\E*$N$?$a$KMQ0U$7$F$$$k%7%9%F%`$b$"$k(B)$B!#(B $B$=$7$F!"(B $B$=$N4D6-$O$?$$$F(B
            $B$$;R%W%m%;%9$KEO$5$l$k!#(B $B$7$+$7?F%W%m%;%9$K$^$GLa$k$3$H$O$J$$!#(B

Q16.7:      $B%U%!%$%k$,B8:_$9$k$+$I$&$+$O$I$&$d$C$FD4$Y$l$P$h$$$+!#;XDj$5$l$?=PNO%U%!(B
            $B%$%k$,$9$G$KB8:_$9$k$H$-$K$O%f!<%6!<$KN;2r$r<h$j$?$$!#(B

A16.7:      UNIX $B$d(BUNIX $B$KN`;w$N%7%9%F%`$G$O!"(B access() $B4X?t$r;n$7$F$_$l$P$h$$!#(B $B$?(B
            $B$@$7$3$N4X?t$K$O$$$/$D$+LdBj$,$"$k(B($B7k2L$K$7$?$,$C$F9T$&=hM}$N%?%$%_%s(B
            $B%0$K$h$C$F$O!"(B $B$*$+$7$JF0:n$r$9$k2DG=@-$,$"$k!#(B $B$^$?(Bsetuid $B$7$?%W%m%0%i%`(B
            $B$G$O4qL/$JF0:n$r$9$k(B)$B!#(B $BJL$NJ}K!$H$7$F$O(B($B$3$C$A$N$[$&$,!"(B $B$h$$$+$b$7$l$J(B
            $B$$(B)$B!"(Bstat() $B$rBP>]$H$J$k%U%!%$%k$KBP$7$F8F$V$3$H$G$"$k!#$3$l$G$b$@$a$J$i!"(B
            $B%U%!%$%k$NB8:_$r%F%9%H$9$k3N<B$G0\?"@-$N9b$$J}K!$O!"(B $B%U%!%$%k$r3+$/$3$H(B
            $B$7$+;D$C$F$J$$(B($B$3$l$b%U%!%$%k$,B8:_$9$k$H$-$O>e=q$-$7$?$/$J$/$C$F!"(BBSD
            UNIX $B$,$b$C$F$$$k(Bopen $B$N(BO_EXCL $B%*%W%7%g%s$N$h$&$J$b$N$,<j$KF~$i$J$$4D(B
            $B6-$G$"$l$PLr$KN)$?$J$$(B)$B!#(B

Q16.8:      $B$I$&$9$l$PFI$`A0$K%U%!%$%k$NBg$-$5$rCN$k$3$H$,$G$-$k$+!#(B

A16.8:      $B$b$7$b!H%U%!%$%k$N%5%$%:!I$,!"(B C $B8@8l$r;H$C$F%U%!%$%k$+$iFI$`$3$H$N$G$-(B
            $B$kJ8;z$N?t$H$$$&$3$H$G$"$l$P!"(B $B0lHL$K$O$3$N?t$rA0$b$C$FCN$k$3$H$OIT2DG=(B
            $B$G$"$k!#(B UNIX $B$G$O4X?t(Bstat() $B$,@53N$JEz$($rM?$($F$/$l$k!#(B $BB>$N%7%9%F%`$N(B

            $BCf$K$b(BUNIX $B$N(Bstat() $B$KN`;w$N4X?t$rMQ0U$7$F$$$k$b$N$,$"$C$F!"(B $B$=$&$$$&>l(B
            $B9g$O6a;wCM$rM?$($F$/$l$k!#(B fseek $B$r%U%!%$%k$N:G8e$G<B9T$7$F(Bftell $B$9$l$P$h(B
            $B$$!#$7$+$7$3$N$d$j$+$?$O0\?"@-$,Dc$$!#(B(UNIX $B$G$@$1@53N$JCM$,JV$C$F$/$k!#(B
            ANSI C $B$N!H%P%$%J%j%U%!%$%k!I$G$OJ]>Z$5$l$F$$$k$,!"(B $B6a;wCM$7$+JV$C$F$3$J(B
            $B$$2DG=@-$,$"$k(B)$B!#(B filesize $B$H$+(Bfilelength $B$H$$$&%k!<%A%s$rMQ0U$7$F$$$k%7%9%F(B
            $B%`$b$"$k!#(B

            $BK\Ev$K%U%!%$%k$N%5%$%:$rA0$b$C$F7h$a$F$*$+$J$1$l$P$J$i$J$$$N$+!#(B C $B%W%m(B
            $B%0%i%`$+$i8+$($k%U%!%$%k$N%5%$%:$r7hDj$9$k:G$b@53N$JJ}K!$O!"(B $B%U%!%$%k$r(B
            $B3+$$$FFI$`$3$H$G$"$k$+$i!"(B $B%U%!%$%k$rFI$_$J$,$i%5%$%:$rCN$k$h$&$K=q$-49(B
            $B$($?$[$&$,$$$$!#(B

Q16.9:      $B$^$C$?$/>C$75n$k$3$H$d>e=q$-$9$k$3$H$J$/%U%!%$%k$r$=$N>l$GC;$/$9$k$3$H(B
            $B$O$G$-$k$+!#(B

A16.9:      BSD $B%7%9%F%`$O(Bftruncate() $B$r!"B>$N$b$N$O(Bchsize() $B$r!"$^$?$$$/$D$+$O(B($B%I%-%e(B
            $B%a%s%H$K$O=q$+$l$F$$$J$$$@$m$&$1$l$I(B)fcntl $B$N%*%W%7%g%s$H$7$F(BF_FREESP $B$r(B
            $BMQ0U$7$F$$$k!#(B MS-DOS $B$G$O(Bwrite(fd,  "",  0) $B$,;H$($k$3$H$,$"$k!#(B $B$1$l$IK\(B
            $BEv$K0\?"@-$N9b$$J}K!$H$$$&$b$N$OB8:_$7$J$$!#(B

Q16.10:       1 $BIC$h$j:Y$+$$CY$l$d!"(B 1 $BIC$h$j:Y$+$$%f!<%6!<$N1~Ez$N7WB,$O!"(B $B$I$&<BAu$9(B
              $B$l$P$h$$$+!#(B

A16.10:       $B;DG0$J$,$i0\?"@-$N9b$$J}K!$OB8:_$7$J$$!#(B V7  UNIX $B$H$=$3$+$iGI@8$7$?%7(B
              $B%9%F%`$O!"(B $B$+$J$jLr$KN)$D(Bftime() $B$rMQ0U$7$F$$$?!#(B $B$3$N4X?t$O%_%jICC10L$N(B
              $B@:EY$r;}$C$F$$$?!#(B $B$7$+$7(BSYSTEM V $B$d(BPOSIX $B$+$i>C$($F$7$^$C$?!#(B

              $BB>$KC5$9$Y$-4X?t$H$7$F$O!"(B nap() $B$d(Bsetitimer()$B!"(B msleep()$B!"(B usleep(), clock()$B!"(B
              gettimeofday() $B$,$"$k!#(B select() $B$d(Bpoll() $B$O(B($B$b$7<j$KF~$l$P(B)$B!"(B $B4JC1$JCY$l$r<B(B
              $BAu$9$k$N$K;H$($k!#(B MS-DOS $B%^%7%s$G$O!"(B $B%7%9%F%`%?%$%^!<$d%?%$%^!<$N3d$j(B
              $B9~$_$r%W%m%0%i%`$7$J$*$9$3$H$G<B8=$G$-$k!#(B

Q16.11:       $B$I$&$9$l$P%*%V%8%'%/%H%U%!%$%k$rFI$_9~$s$G!"(B $B$=$NCf$K$"$k%k!<%A%s$K%8%c(B
              $B%s%W$9$k$3$H$,$G$-$k$+!#(B

A16.11:       $B%@%$%J%_%C%/%j%s%+!<$d%@%$%J%_%C%/%m!<%@!<$,I,MW$G$"$k!#(B $BNN0h$r(Bmalloc $B$7(B
              $B$F!"$=$NNN0h$K%*%V%8%'%/%H%U%!%$%k$rFI$_9~$`$3$H$O$G$-$k!#$7$+$7%*%V%8%'(B
              $B%/%H%U%!%$%k$N%U%)!<%^%C%H$d$=$NG[CV$J$I$K$D$$$F!"(B $B$+$J$j$NCN<1$,I,MW$H(B
              $B$J$k!#(B BSD $B$G$O(Bsystem() $B$H(Bld  -A $B$r;H$C$F%j%s%/$9$k$3$H$,$G$-$k!#(B GNU $B$N(B
              $B%Q%C%1!<%8$K(B $B!V(Bdld$B!W(B $B$H$$$&$N$,B8:_$9$k!#(B $B$3$l$OF0E*$J%j%s%/$K$^$D$o$k;E(B
              $B;v$N0lIt$"$k$$$OA4It$r<B9T$7$F$/$l$k!#(B Q7.6 $B$r;2>H$N$3$H!#(B

Q16.12:       $B%W%m%0%i%`$NCf$+$i(BO/S $B$N%3%^%s%I$r5/F0$7$?$$!#(B $B$I$&$9$l$P$h$$$+!#(B

A16.12:       system() $B$r;H$(!#(B

              References:  [K&R II]  Sec.  B6  p.  253;  [ANSI]  Sec.  4.10.4.5;  [H&S]  Sec.  21.2;
              [PCS] Sec.  11 p.  179;

Q16.13:       O/S $B$N%3%^%s%I$G<B9T$7$F!"(B $B$=$N=PNO$rJa$^$($k$N$O$I$&$9$l$P$h$$$N$+!#(B

A16.13:       UNIX $B$dB>$N$$$/$D$+$N%7%9%F%`$O(Bpopen() $B%k!<%A%s$rMQ0U$7$F$$$k!#$3$N%k!<(B
              $B%A%s$O%3%^%s%I$rAv$i$;$F$$$k%W%m%;%9$K$D$J$2$?%Q%$%W$X$N(Bstdio $B$N%9%H%j!<(B
              $B%`$r!"(B $B=PNO$rFI$_<h$l$k(B($B$"$k$$$OF~NO$rMQ0U$9$k(B) $B$h$&$K@_Dj$9$k$b$N$G$"(B
              $B$k!#JL$NJ}K!$H$7$F$O!"=PNO$r%U%!%$%k$K=q$-=P$7!"8e$+$i%U%!%$%k$r3+$$$FCf(B
              $B?H$rFI$_=P$9$h$&$J%3%^%s%I$rMQ0U$7$F!"(B $B$=$l$r8F$S=P$9$3$H$G$"$k(B(Q16.12
              $B;2>H(B)$B!#(B

              References:  [PCS] Sec.  11 p.  169 .

Q16.14:       $B%G%#%l%/%H%j$NFbMF$rFI$`$K$O$I$&$9$l$P$h$$$+!#(B

A16.14:       opendir() $B$d(Breaddir() $B$,;H$($k$+$I$&$+D4$Y$k$3$H!#$3$l$i$N%k!<%A%s$O$?$$$F(B
              $B$$$N(BUNIX $B%7%9%F%`$K$N$C$F$$$k!#(BMS-DOS$B!"(BVMS$B!"$=$NB>$N%7%9%F%`MQ$N<BAu(B
              $B$bB8:_$9$k(B(MS-DOS $B$K$O<B<AE*$KF1$8;E;v$r$9$k(BFINDFIRST$B!"(B FINDNEXT
              $B$H$$$&%k!<%A%s$bB8:_$9$k(B)$B!#(B

Q16.15:       $B%7%j%"%k(B(COM) $B%]!<%H$r;H$C$?(BI/O $B$O$I$&$d$l$P$h$$$+!#(B

A16.15:       $B$=$l$O%7%9%F%`<!Bh$G$"$k!#(B UNIX $B$G$O!"(B /dev $B$K$"$k%G%P%$%9$r%*!<%W%s$7$?(B
              $B$j(B(open)$B!"(B $BFI$s$@$j(B(read)$B!"(B $B=q$-9~$s$@$j(B(write) $B$9$k!#(B $B$^$?%G%P%$%9!&%I%i(B
              $B%$%P!<$N5!G=$r;H$C$F!"(B I/O $B$NFCD'$rD4@0$9$k!#(B MS-DOS $B$G$O4pK\E*$J(BBIOS
              $B$N3d$j9~$_$r;H$&$+!"(B ($B$+$J$j$N@-G=$rMW5a$9$k$H$-$O(B) $B@$$NCf$K$?$/$5$s$"$k(B
              $B3d$j9~$_6nF0$N%7%j%"%k(BI/O $B$N%Q%C%1!<%8$r;H$&!#(B

17          $B$=$NB>(B

Q17.1:      $BL@<(E*$K$O=i4|2=$5$l$F$$$J$$JQ?t$N=i4|CM$K$D$$$F!"(B $B$I$3$^$G0B?4$7$F2>Dj(B
            $B$9$k$3$H$,$G$-$k$+!#(B $B%0%m!<%P%kJQ?t$N=i4|CM$,(B0 $B$G=i4|2=$5$l$k$N$J$i!"(B
            $B%L%k%]%$%s%?$dIbF0>.?tE@?t$K$D$$$F$b(B0 $B$G$"$k$3$H$,J]>Z$5$l$k$N$+!#(B

A17.1:        $B!V@EE*$J!W(B $B<wL?$r;}$DJQ?t(B($B$9$J$o$A4X?t$N30$G@k8@$7$?JQ?t$d(Bstatic $B$H@k8@(B
            $B$7$?JQ?t(B) $B$O!"(B $B%W%m%0%i%^$,(B $B!V(B=0$B!W(B $B$HBG$A9~$s$@$+$N$h$&$K!"(B 0 $B$K(B($B%W%m%0%i%`(B
            $B$NN)$A>e$,$j;~$K0lEY$@$1(B) $B=i4|2=$5$l$k$3$H$,J]>Z$5$l$F$$$k!#(B $B$9$J$o$A%](B
            $B%$%s%?$O(B($B@5$7$$7?$N(B:1 $B>O;2>H(B) $B%L%k%]%$%s%?$K!"(B $BIbF0>.?tE@?t$O(B0.0 $B$K=i4|2=(B
            $B$5$l$k!#(B

              $B!VF0E*$J!W(B $B<wL?$r;}$DJQ?t(B($B$9$J$o$A!"(B static $B@k8@$r$7$F$$$J$$%m!<%+%kJQ?t(B)
            $B$NCf?H$O!"(B $BL@<(E*$K=i4|2=$7$J$$8B$j!"(B $B%4%_$G$"$k!#(B $B%4%_$,Lr$KN)$D$+$I$&$+(B
            $B$O!"(B $BM=B,$G$-$J$$!#(B

            malloc $B$d(Brealloc $B$r;H$C$FF0E*$K3NJ]$7$?NN0h$b!"(B $BCf?H$O%4%_$G$"$k$H9M$($?(B
            $B$[$&$,$$$$!#(B $B$@$+$iE,@Z$J%W%m%0%i%`$rMQ0U$7$F=i4|2=$7$J$1$l$P$J$i$J$$!#(B
            calloc $B$K$h$C$F3NJ]$7$?NN0h$O$9$Y$F$N%S%C%H$,(B0 $B$G$"$k!#(B $B$7$+$7!"(B $B$3$N=i4|(B
            $B2=$b!"(B $B%]%$%s%?JQ?t$dIbF0>.?tE@?t$NJQ?t$KBP$7$F$OI,$:$7$bLr$K$?$?$J$$(B(1
            $B>O$H(BQ3.11 $B$r;2>H(B)$B!#(B

Q17.2:      $B2<$N%3!<%I!"(B $BK\$+$i$=$N$^$^<L$7$?$N$K!"(B $B%3%s%Q%$%k$G$-$J$$!#(B

            f()
            {
           char  a[]  =  "Hello,  world!";
            }

A17.2:      $B$?$V$s!"(B $B7/$N;H$C$F$$$k%3%s%Q%$%i$O(BANSI $B5,3J$,$G$-$kA0$N$b$N$G(B $B!V(Bauto $B$N(B
            $B=8@.7?(B:automatic aggregates$B!W(B ($BNc(B:static $B$G$J$$%m!<%+%k$JG[Ns$d9=B$BN(B) $B$N=i(B
            $B4|2=$r5v$7$F$J$$!#(B $B2sHr:v$H$7$F$O!"(B $BG[Ns$r%0%m!<%P%k$K$9$k$+!"(B static $B$K$7(B
            $B$F(Bf $B$r8F$V$H$3$m$G(Bstrcpy $B$r;H$C$F=i4|2=$9$k(B($BJ8;zNsDj?t$r;H$C$F%m!<%+%k(B
            $B$N(Bchar  *$BJQ?t$r=i4|2=$9$k$3$H$O$$$D$G$b2DG=$G$"$k!#(B $B$?$@$7(BQ17.20 $B$r;2>H(B
            $B$N$3$H(B)$B!#(B Q5.16 $B$H(BQ5.17 $B$b;2>H$N$3$H!#(B

Q17.3:      $B$I$&$9$l$P!"(B $B0l8l$NBg$-$5$,0[$J$C$?$j!"(B $B%P%$%H%*!<%@!<$,0[$J$C$?$j!"(B $BIbF0(B
            $B>.?tE@?t$NFbItI=8=$,0[$J$k$h$&$J%^%7%s$G$bFI$a$k$h$&$K%G!<%?%U%!%$%k$K(B
            $B=q$-9~$`$3$H$,$G$-$k$N$+!#(B

A17.3:      $B:GNI$N2r$O%F%-%9%H%U%!%$%k(B($B$?$$$F$$$O(BASCII) $B$r;H$&$3$H$G$"$k!#(B fprintf
            $B$r;H$C$F=q$-9~$_!"(B fscanf $B$NN`$r;H$C$FFI$`(B($BF1MM$N=u8@$O%M%C%H%o!<%/$N%W(B
            $B%m%H%3%k$K$b$"$F$O$^$k(B)$B!#(B $B!V%F%-%9%H%U%!%$%k$OBg$-$9$.$F!"(B $B$=$NFI$_=q$-$O(B

            $BCY$9$.$k!W(B $B$H$$$&H?O@$O5?$C$F$+$+$k$3$H!#(B $B$=$N8zN($O$7$P$7$P<BMQ$KBQ$($k(B
            $B$b$N$G$"$k$7!"(B $BI8=`E*$JF;6q$@$1$GA`:n$G$-$k$H$$$&MxE@$OH]Dj$G$-$J$$;v<B(B
            $B$G$"$k!#(B

            $B%P%$%J%j%U%)!<%^%C%H$r;H$o$J$1$l$P$J$i$J$$>l9g$G$b!"0\?"@-$r8~>e$5$;$kJ}(B
            $BK!$O$"$k!#(B $BI8=`$N%U%)!<%^%C%H$rMxMQ$7$F4{B8$N(BI/O $B%i%$%V%i%j$r$&$^$/;H$&(B
            $B$3$H$b2DG=$G$"$k!#I8=`$N%U%)!<%^%C%H$H$7$F$O(BSUN $B$N(BXDR(RFC 1014)$B!"(BOSI
            $B$N(BASN.1$B!"(B CCITT $B$N(BX.409$B!"(B ISO 8825  $B!V4pK\Id9f2=B'(B:Basic Encoding Rules$B!W(B
            $B$,B8:_$9$k!#(B Q9.11 $B$r;2>H$N$3$H!#(B

Q17.4:      $B%U%!%$%k$N??$sCf$+$i0l9T(B($B$"$k$$$O(B1 $B%l%3!<%I(B) $B:o=|$9$k$N$O$I$&$d$l$P$h(B
            $B$$$+!#(B

A17.4:      $B%U%!%$%k$r=q$-D>$90J30$K$O!"(B $B$?$V$sIT2DG=$@$m$&!#(B Q16.9 $B$b;2>H$N$3$H!#(B

Q17.5:      $B4X?t$+$iJ#?t$NCM$rJV$9$3$H$O$G$-$k$+!#(B

A17.5:      $BCM$r3JG<$9$kNN0h$r5/F0$9$kB&$GMQ0U$7$F!"(B $B$=$N%"%I%l%9$r%]%$%s%?$H$7$FEO(B
            $B$7$F!"(B $B4X?t$KCM$rKd$a$F$b$i$&!#(B $B$"$k$$$O!"(B $B4X?t$NLa$jCM$r9=B$BN$K$7$F!"(B $B$=(B
            $B$N9=B$BN$K4uK>$NCM$r@_Dj$7$F$b$i$&$3$H$,$G$-$k!#(B Q2.17$B!"(B Q3.4$B!"(B Q9.2 $B$b;2(B
            $B>H$N$3$H!#(B

Q17.6:      char  *$B$NJQ?t$,$"$C$F!"(B $B$=$NJQ?t$O4X?t$NL>A0$NJ8;zNs$r;X$7$F$$$k!#(B $B$I$&$9(B
            $B$l$P$3$N4X?t$r8F$V$3$H$,$G$-$k$+!#(B

A17.6:      $B0lHVC1=c$JJ}K!$O!"(B $B4X?t$NL>A0$H4X?t$X$N%]%$%s%?$NBP1~I=$rMQ0U$9$k$3$H$G(B
            $B$"$k!#(B

            int  function1(),  function2();
            struct  {char  *name;  int  (*funcptr)();  }  symtab[]  =
                          {
                          "function1",       function1,
                          "function2",       function2,
                          };

            $B$=$&$7$FL>A0$r%-!<$K$7$F%F!<%V%k$rC5$7!"(B $BBP1~$9$k4X?t$X$N%]%$%s%?$r;H$C(B
            $B$F4X?t$r5/F0$9$l$P$h$$!#(B Q9.9 $B$H(BQ16.11 $B$b;2>H$N$3$H!#(B

Q17.7:      $B;d$N;H$C$F$$$k%7%9%F%`$K$O(B<sgtty.h>$B$,8+Ev$?$i$J$$!#(B $B$@$l$+%3%T!<$rAw$C(B
            $B$F$/$l$J$$$@$m$&$+!#(B

A17.7:      $BI8=`%X%C%@!<$O!"(B $B7/$,;H$C$F$$$k%3%s%Q%$%i!"(B O/S$B!"(B $B%W%m%;%C%5$KE,@Z$JDj5A(B
            $B$rM?$($k$h$&$J7A$GB8:_$7$F$$$k!#(B $BB>$N?M$N%X%C%@!<%U%!%$%k$r0z$CD%$C$F$-(B
            $B$FF0$/$3$H$r4|BT$9$k$3$H$O$G$-$J$$!#(B $B$b$A$m$sAj<j$,A4$/F1$84D6-$r;H$C$F(B
            $B$$$k>l9g$OJL$G$"$k!#(B $B%3%s%Q%$%i$N%Y%s%@!<$K2?8N$=$N%U%!%$%k$,6!5k$5$l$J(B
            $B$+$C$?$+?R$M$F$_$k$3$H(B($B$"$k$$$OBe$o$j$rAw$C$F$/$l$k$h$&$K0MMj$7$F$_$k(B
            $B$3$H(B)$B!#(B

Q17.8:      $B$I$&$9$l$P(BC $B$+$i(BFORTRAN($B$"$k$$$O(BC++$B!"(B BASIC$B!"(B Pascal$B!"(B Ada$B!"(B LISP)
            $B$N4X?t$r5/F0$9$k$3$H$,$G$-$k$+(B($B$"$k$$$O$=$NH?BP$O(B)$B!#(B

A17.8:      $B2rEz$O!";HMQCf$N%^%7%s$d%3%s%Q%$%i$,4X?t$r5/F0$9$kJ}K!$K0MB8$9$k!#$R$g$C(B
            $B$H$7$?$i$^$C$?$/IT2DG=$+$b$7$l$J$$!#(B $B%3%s%Q%$%i$N;qNA$rCm0U?<$/FI$`$3$H!#(B
            $B$H$-$I$-(B $B!VJ#?t$N%W%m%0%i%`8@8l$r;H$C$?%W%m%0%i%_%s%0$N<j0z$-!W(B $B$,:\$C$F(B
            $B$$$k!#(B $B$=$l$G$b0z?t$rEO$9J}K!$d!"(B $B<B9T;~$NE,@Z$JN)$A>e$,$j$rJ]>Z$9$k$3$H(B
            $B$O!"(B $B?@HkE*$G$9$i$"$k!#(B $B$=$NB>$K(BGlenn Geers $B:n$N(BFORT.Z $B$+$i$b<j3]$+$j$,(B
            $BF@$i$l$k!#(B $B$3$N%W%m%0%i%`$O(Bsuphys.physics.su.oz.au $B$N(Bsrc $B%G%#%l%/%H%j$KCV(B
            $B$+$l$F$$$k!#(B

            cfortran.h $B$O!"(B $B@$$NCf$K=P$^$o$C$F$$$kB?$/$N%^%7%s>e$G!"(B C/FORTRAN $B4V$N(B
            $B%$%s%?%U%'!<%9$r4JC1$K$9$k!#(B $B$3$l$O(Bzebra.desy.de(131.169.2.244) $B$h$j(Banony
            mous ftp $B$G<j$KF~$l$k$3$H$,$G$-$k!#(B

            C++$B$G$O30It4X?t$N@k8@$K(B"C"$B=$>~;R$rIU$1$k$3$H$G!"(B C $B$N4X?t$N5/F0J}K!$K(B
            $B=>$C$F5/F0$9$k$3$H$r;XDj$9$k$3$H$,$G$-$k!#(B

Q17.9:      Pascal($B$"$k$$$O(BFORTRAN$B!"(B LISP$B!"(B Ada$B!"(B awk$B!"!H8E$$(BC$B!I(B) $B$r(BC $B$KJQ49$9$k%W(B
            $B%m%0%i%`$rCN$i$J$$$+!#(B

A17.9:      $B$$$/$D$+$N%Q%V%j%C%/%I%a%$%s$N%W%m%0%i%`$,B8:_$9$k!#(B

            p2c     Dave Gillespie $B$K$h$C$F=q$+$l!"(Bcomp.sources.unix $B$K(B1990 $BG/(B4 $B7n(B(Volume
                    21) $B$KEj9F$5$l$?!#(B csvax.cs.caltech.edu $B$+$i(Banonymous ftp $B$9$k$3$H$b$G(B
                    $B$-$k!#(B $B%U%!%$%kL>$O(Bpub/p2c-1.20.tar.Z
            ptoc     $B$3$l$b(Bcomp.sources.unix $B$KEj9F$5$l$?$b$N!#(B $B$3$l$O(BPascal $B$G=q$+$l$F(B
                    $B$$$k(B(comp.sources.unix $B$N(BVolume 10$B!"(B $B%Q%C%A$O(BVolume 13?$B$K$"$k(B)$B!#(B
            f2c    $B%Y%k8&$H(BBellcore $B$H%+!<%M%.!<%a%m%sBg3X$N6&F13+H/$K$h$k(BFORTRAN $B$N(B
                    $B%W%m%0%i%`$r(BC $B$KJQ49$9$k%=%U%H%&%(%"!#(Bf2c $B$K$D$$$FCN$j$?$1$l$P!V(Bsend
                    index from f2c$B!W(B $B$H$$$&%a%C%;!<%8$H$H$b$K(Bnetlib@research.att.com $B$"$k(B
                    $B$$$O(Breseach!netlib $B$K%a!<%k$r=P$9$3$H!#(B (research.att.com $B$N%G%#%l%/%H(B
                    $B%j(Bdist/f2c $B$+$i$N(Banonymous ftp $B$b2DG=$G$"$k!#(B )

            $B$3$N(BFAQ $B$NJT<T$O!"(B $B>&IJ$H$J$C$?JQ49%D!<%k$d!"(B $B$3$3$K5s$2$F$$$J$$8@8l$H(B
            $B$N4V$NJQ49%D!<%k$N%j%9%H$rMQ0U$7$F$$$k!#(B

              Q5.3 $B$b;2>H$N$3$H!#(B

Q17.10:       C++$B$O(BC $B$N>e0L=89g$+!#(B C++$B$N%3%s%Q%$%i$r(BC $B$N%3!<%I$N%3%s%Q%$%k$K;H$&(B
              $B$3$H$O$G$-$k$+!#(B

A17.10:       C++$B$O(BC $B$r5/8;$r;}$A!"(B $BBgItJ,(BC $B$K4p$E$/!#(B $B$7$+$7(BC $B8@8l$H$7$F$O@5$7$$9=(B
              $BB$$G$"$k$,!"(B C++$B$G$O0cK!$J$b$N$,$$$/$D$+B8:_$9$k(B($B$=$l$G$b(BC $B$N%W%m%0%i(B
              $B%`$NB?$/$O(BC++$B$N4D6-$G@5$7$/%3%s%Q%$%k$G$-$k(B)$B!#(B

Q17.11:
                $B$3$s$J$N$,M_$7$$(B              || $B0J2<$NL>A0$N%W%m%0%i%`$rC5$9$3$H(B
                                              || (Q17.12 $B$b;2>H(B)
              _____________________________________________________________________________
              C$B$NAj8_;2>H$r@8@.$9$k%W%m%0%i%`(B || cflow$B!"(Bcalls$B!"(Bcscope
              _____________________________________________________________________________
              C$B$N@07A%=%U%H(B/$B%W%j%F%#!&%W%j%s%?(B|| cb$B!"(B indent

Q17.12:       $B$I$3$+$i!"(B $B$3$l$i$N%Q%V%j%C%/%I%a%$%s$N%W%m%0%i%`$r<j$KF~$l$k$3$H$,$G$-(B
              $B$k$N$+!#(B

A17.12:       Usenet $B$X%"%/%;%9$G$-$k$N$J$i!"(B comp.sources.unix $B$d(Bcomp.sources.misc $B$H(B
              $B$$$C$?%0%k!<%W$X$NDj4|E*$JEj9F$r;2>H$N$3$H!#(B $B$=$3$K$OJ]B8$NJ}?K$d<h$j=P(B
              $B$7$+$?$,5-=R$7$F$"$k!#(B $BIaDL$O(Banonymous ftp $B$d!"(B $BCf1{$N9-$/3+J|$7$F$$$k%5(B
              $B%$%H(B:$B$?$H$($P(Buunet(ftp.uu.net  192.48.96.9) $B$+$i$N(Buucp $B$K$h$C$F<j$KF~$l$k(B
              $B$3$H$,2DG=$G$"$k!#(B $B$7$+$7$J$,$i!"(B $B$3$N5-;v$O%W%m%0%i%`$rJ]B8$7$F$$$k%5%$(B
              $B%H$N$9$Y$F$d!"(B $B%5%$%H$K%"%/%;%9$9$kJ}K!$rFM$-;_$a$?$j!"(B $B5s$2$k$3$H$O$G$-(B
              $B$J$$!#(B

              $B?tCM$r07$&%U%j!<!&%=%U%H%&%'%"$NL\O?$r(BAjay Shah $B$,4IM}$7$F$$$k!#(B $B$=$NL\(B
              $BO?$ODj4|E*$KEj9F$5$l!"(B $B$3$N(BFAQ $B%j%9%H$,J]B8$5$l$F$$$k$H$3$m$G<j$KF~$k(B
              (Q17.33 $B$r;2>H(B)$B!#(B $B%K%e!<%9%0%k!<%W(Bcomp.archives $B$N5-;v$K$OMM!9$J>pJs$N!"(B
              anonymous ftp $B$K$h$kF~<jJ}K!$N>R2p$,4^$^$l$F$$$k!#!V(Barchie$B!W%a!<%k%5!<%P!<(B
              $B$O!"(B $B$I$N(Banonymous ftp $B%5%$%H$,$I$s$J>pJs$rJ]B8$7$F$$$k$+65$($F$/$l$k!#(B
              $B>\:Y$O%a%C%;!<%8(B $B!V(Bhelp$B!W(B $B$r(Barchie@quiche.cs.mcgill.ca $B$KAw$k$3$H$GF@$i$l$k!#(B
              $B:G8e$K(Bcomp.souces.wanted $B$,!"(B $B$?$$$F$$$O%=!<%9$N$"$j$+$r$?$:$M$k$N$K:G(B
              $B$b$U$5$o$7$$%K%e!<%9%0%k!<%W$G$"$k!#(B $B$=$N>l9g$G$bEj9F$9$kA0$K(BFAQ $B$N%j(B
              $B%9%H$G$"$k(B $B!V(BHow  to  find  sources($B$I$&$d$C$F%=!<%9$r8+$D$1$l$P$h$$$+(B)$B!W(B $B$r(B
              $B%A%'%C%/$9$k$3$H!#(B

Q17.13:       $B<!$N9q:]Fq2r(BC $B%3!<%I%3%s%F%9%H(B:International Obfuscated C Code Contest(IOCCC)
              $B$O$$$D3+$+$l$k$N$+!#(B $B$I$&$9$l$P:#2s$d@N$N<x>^:n$r<j$KF~$l$k$3$H$,$G$-$k(B
              $B$N$+!#(B

A17.13:       $B%3%s%F%9%H$O(B3 $B7n$NF,$+$i(B4 $B7n$NH>$P$K$o$?$C$F3+$+$l$k!#(B $B:G?7$N%k!<%k$d$=(B
              $B$NB>$N>pJs$rF@$k$K$O(BSubject $B$K(B $B!V(Bsend rules$B!W(B $B$H=q$$$F(B

              {apple,pyramin,sun,uunet}!hoptoad!obfuscate
              $B$^$?$O(B
              judges@toad.com

              $B$KAw$l$P$h$$(B($B$3$l$i$N%"%I%l%9$O=PE8$N?=$79~$_MQ$G$O$J$$(B)$B!#(B
              $B%3%s%F%9%H$N<u>^<T$O(B6 $B7nH>$P$N2F$N(BUsenix $B$N2q5D$G:G=i$KH/I=$5$l!"(B 7 $B7n$K(B
              $B%M%C%H$KEj9F$5$l$k!#(B $B@N$N<u>^:nIJ$O(Buunet $B$N(B /pub/ioccc $B$H$$$&%G%#%l%/%H(B
              $B%j$+$i<j$KF~$l$k$3$H$,$G$-$k(B(Q17.12 $B$r;2>H(B)$B!#(B

              $B:G8e$N<jCJ$H$7$F!"(B $B2a5n$N<x>^:n$O>e5-$N%"%I%l%9$K(B Subject:$B$H$7$F(B $B!V(Bsend
              YEAR$B!W(B $B$rIU$1$?(Be-mail $B$rAw$k$3$H$K$h$C$FF@$i$l$k!#(B $B$3$3$G(BYEAR $B$O(B4 $B$1(B
              $B$?$NG/$+!"(B $BG/EY$NHO0O;XDj!"(B $B$"$k$$$O(Ball $B$G$"$k!#(B

Q17.14:       $B$J$<(BC $B8@8l$N%3%a%s%H$OF~$l;R$K$9$k$3$H$,$G$-$J$$$N$+!#(B $B%3%a%s%H$r4^$`(B
              $B%3!<%I$r%3%a%s%H%"%&%H$9$k$N$O$I$&$9$l$P$h$$$+!#(B $B0zMQId$G$O$5$^$l$?J8;z(B
              $BNs$,(B $B!V(B/*$B!W(B $B$d(B $B!V(B*/$B!W(B $B$r4^$`$3$H$O5v$5$l$F$$$k$N$+!#(B

A17.14:       $B%3%a%s%H$NF~$l;R$K$OMxE@$h$j$b7gE@$N$[$&$,B?$$!#6vA3%3%a%s%H$NCf$K!V(B/*$B!W(B
              $B$r4^$s$@$^$^%3%a%s%H$rJD$8$k;v$rK:$l$k2DG=@-$,$"$k$+$i$G$"$k!#(B $B$@$+$i%3(B
              $B%a%s%H$r4^$`$h$&$JBg$-$JNN0h$r!H%3%a%s%H%"%&%H!I$9$k$H$-$O(B#ifdef $B$d(B#if  0
              $B$r;H$C$?$[$&$,$$$$!#(B

              $BJ8;zNs(B/*$B$d(B*/$B$OFs=E0zMQ6g$N$J$+$G$OFCJL$J0UL#$r;}$?$J$$!#(B $B$@$+$i$3$l$i$N(B
              $BJ8;zNs$,%3%a%s%H$r0UL#$9$k;v$O$J$$!#(B $B$J$<$J$i%W%m%0%i%`$,(B($BFC$K=PNO$H$7(B
              $B$F(BC $B$N%3!<%I$r@8@.$9$k%W%m%0%i%`$,(B)$B!"(B $B$3$l$i$NJ8;zNs$r=PNO$7$?$$$+$b$7(B
              $B$l$J$$$+$i!#(B

              References:  [ANSI] Appendix E p.  198, Rationale Sec.  3.1.9 p.  33.

Q17.15:       $BJ8;z$KBP1~$9$k(BASCII $B$NCM$d!"(B ASCII $B$NCM$KBP1~$9$kJ8;z$O$I$&$9$l$PF@$i$l(B
              $B$k$+!#(B

A17.15:       C $B$GJ8;z$O!"(B $B$=$NCM$KBP1~$9$k(B($B$=$N5!3#$,;H$C$F$$$kJ8;z=89g$N(B) $B>.$5$J@0?t(B
              $B$GI=8=$5$l$k!#(B $B$@$+$iJQ49%k!<%A%s$OI,MW$J$$!#(B $BJ8;z$r;}$C$F$$$k$H$$$&$3$H(B
              $B$O!"(B $B$=$NCM$r;}$C$F$$$k$H$$$&$3$H$G$"$k!#(B

Q17.16:       $B%S%C%H$N=89g$dG[Ns$O$I$&$d$C$F<BAu$9$l$P$$$$$N$+!#(B

A17.16:       char $B$d(Bint $B$NG[Ns$r;H$&!#(B $B$3$N$H$-0J2<$N$h$&$J%^%/%m$r;H$C$F%"%/%;%9$9$k(B
              $B$3$H!#(B (<limits.h>$B$,$J$$$H$-$O(BCHAR_BIT $B$NBe$j$K(B8 $B$r;H$&(B)

              #include  <limits.h>                       /*  for  CHAR_BIT  */

              #define  BITMASK(bit)  (1  <<  ((bit)  %  CHAR_BIT))
              #define  BITSLOT(bit)  ((bit)  /  CHAR_BIT)
              #define  BITSET(ary,  bit)  ((ary)[BITSLOT(bit)]  _=  BITMASK(bit))
              #define  BITTEST(ary,  bit)  ((ary)[BITSLOT(bit)]  &  BITMASK(bit))

Q17.17:       $BCM$NCf$K@_Dj$5$l$F$$$k%S%C%H$N?t$r?t$($k$b$C$H$b8zN($N$h$$J}K!$r65$($F(B
              $BM_$7$$!#(B

A17.17:       $B$3$N<j$N%S%C%H$r$$$8$kLdBj$O;2>HMQ%F!<%V%k(B(lookup  table) $B$r;H$&$3$H$G!"(B
              $B9bB.$+$DG=N($h$/=hM}$9$k$3$H$,$G$-$k(B($B$?$@$7<!$N<ALd$r;2>H$N$3$H(B)$B!#(B

Q17.18:       $B$I$&$9$l$P!"(B $B$3$N%3!<%I$r$b$C$H8zN(E*$K$9$k$3$H$,$G$-$k$+!#(B

A17.18:       $B8zN($O(Bcomp.lang.c $B$N$*5$$KF~$j$NOCBj$G$"$k!#(B $B$?$@$7?M$,$h$/!"(B $B$=$&$G$"$k(B
              $B$H9M$($F$$$k$[$I$O!"(B $B$?$$$7$?LdBj$G$O$J$$!#(B $B$?$$$F$$$N%W%m%0%i%`$N$?$$$F(B
              $B$$$N%3!<%I$O=hM}B.EY$rMW5a$5$l$F$$$k$o$1$G$O$J$$!#(B $B=hM}B.EY$rMW5a$7$J$$(B
              $B%3!<%I$N>l9g!"(B $B:GBg8B$K8zN(2=$r7W$k$h$j!"(B $B$o$+$j$d$9$5$d0\?"@-$r9M$($k$[(B
              $B$&$,Bg;v$G$"$k(B($B%3%s%T%e!<%?$OHs>o$K9bB.$G$"$k!#(B $B$@$+$i!HG=N($N0-$$!I%3!<(B
              $B%I$bL\N)$C$?CY$l$J$/Av$k$+$b$7$l$J$$$H$$$&$3$H$r$*K:$l$J$/(B)$B!#(B

              $B%W%m%0%i%`$NCf$G$I$3$,LdBjE@$K$J$k$+M=A[$9$k$3$H$OHs>o$K:$Fq$G$"$k!#(B $B8z(B
              $BN($K4X?4$,$"$k$N$J$i%W%m%0%i%`$N$I$N>l=j$K4X?4$rCV$/$Y$-$+D4$Y$k$?$a$K!"(B
              $B%W%m%U%!%$%k5!G=$r;}$D%=%U%H%&%'%"$r;H$&$3$H$OBg;v$G$"$k!#(B $B$?$$$F$$$O!"(B
              $B<B:]$N7W;;;~4V$O(BI/O $B$d%a%b%j$N3d$jEv$F$J$I$N<~JUAuCV$NA`:n$K=8Cf$9$k!#(B
              $B$=$7$F$3$l$i$N:n6H$O!"(B $B%P%C%U%!%j%s%0$d%-%c%C%7%s%0$N5;$r;H$C$F9bB.2=$9(B
              $B$k$3$H$,$G$-$k!#(B

              $B%3!<%I$N;~4VE*@)Ls$,87$7$$$H$3$m$K$O!"(B $B$h$$%"%k%4%j%:%`$rA*$V$3$H$,0lHV(B
              $BBg;v$G$"$k!#(B $B%3!<%I$r$$$8$k$3$H$G6I=jE*$K:GE,2=$9$k$3$H$K$O!"(B $B$?$$$7$?0U(B
              $BL#$O$J$$!#(B $B$7$P$7$PDs0F$5$l$k!H8zN(E*$J%3!<%G%#%s%0$N5;!I$NB?$/$O(B($B$?$H$((B
              $B$P(B2 $B$N$Y$->h$r3]$1$k$H$-$K3]$1;;$NBe$j$K%7%U%H1i;;;R$r$D$+$&$3$H(B)$B!"(B $BC1=c(B
              $B$J%3%s%Q%$%i$G$5$(<+F0E*$K$d$C$F$/$l$k!#(B $BIT4oMQ$J!H:GE,2=!I$N;n$_$O%3!<(B
              $B%I$r$U$/$i$^$;@-G=$r0-2=$5$;$k2DG=@-$5$($"$k!#(B

              $B8zN(2=$N%H%l!<%I%*%U$K4X$9$k5DO@$d!"(B $B8zN(2=$,K\Ev$K=EMW$J$H$-$NNI$$=u8@(B
              $B$K$D$$$F$O(B $B!X%W%m%0%i%`=qK!!Y(B $B$N(B7 $B>O$d(B $B!X%W%m%0%i%`2~NI3X!Y(B $B$r;29M$N$3$H!#(B

Q17.19:       $B%]%$%s%?$OK\Ev$KG[Ns$h$j$b9bB.$J$N$+!#(B $B4X?t8F$S=P$7$r$9$k$H$I$l$@$1CY$/(B
              $B$J$k$N$+!#(B ++i $B$O(Bi=i+1 $B$h$j$b9bB.$+!#(B

A17.19:       $B$b$A$m$s!"(B $B$3$l$i$N<ALd$dB?$/$NN`;w$N<ALd$X$N@53N$J2rEz$O!"(B $B;H$C$F$$$k%W(B
              $B%m%;%C%5$d%3%s%Q%$%i$K0MB8$9$k!#(B $BCN$j$?$1$l$P%F%9%H%W%m%0%i%`$GCm0U$7$F(B
              $BB,Dj$9$k$7$+$J$$(B($B$7$P$7$P!"(B $B$=$N:9$OHs>o$K>.$5$$$N$G!"(B $B:9$rCN$k$N$K2?K|(B
              $B2s$b$/$jJV$7$,I,MW$H$J$k!#(B $B$b$7<j$KF~$k$N$J$i!"(B $BN>J}$N5;$r;H$C$?%3!<%I$,(B
              $BF1$8%3!<%I$r@8@.$7$?$+$I$&$+!"(B $B%3%s%Q%$%i$N@8@.$7$?%"%;%s%V%i=PNO$r8+Hf(B
              $B$Y$F$_$k$3$H(B)$B!#(B

              $B!H$?$$$F$$$O!IBg$-$JG[Ns$NCf$r%"%/%;%9$7$F$^$o$k$N$K%]%$%s%?$r;H$&$[$&(B
              $B$,!"(B $BG[Ns$NE:$(;z$r;H$&$h$j9bB.$G$"$k$,!"(B $BH?BP$,@.$jN)$D%W%m%;%C%5$bB8:_(B
              $B$9$k!#(B

              $B4X?t8F$S=P$7$O!"(B $B%$%s%i%$%s$G5-=R$9$k$h$j$b!"(B $B$=$l$@$1L@$i$+$KCY$/$J$k$1(B
              $B$l$I!"(B $B%b%8%e!<%k2=$d%3!<%I$N$o$+$j$d$9$5$KLr$KN)$C$F$$$k$3$H$r9M$($l$P!"(B
              $B;H$o$J$$M}M3$J$s$F$a$C$?$KB8:_$7$J$$!#(B

              i  =  i  +  1 $B$H$$$C$?=q$-J}$r=q$-D>$9A0$K!"(B $BAj<j$O(BC $B%3%s%Q%$%i$G$"$C$F%-!<(B
              $BF~NO$r%W%m%0%i%`$G$-$kEEBn$rAj<j$K$7$F$$$k$N$G$O$J$$$3$H$r$*K:$l$J$/!#(B
              $B$h$/$G$-$?%3%s%Q%$%i$J$i(Bi++$B!"(B ++i$B!"(B i  =  i  +  1$B!"(B $B$I$l$K$D$$$F$bF1$8%3!<%I(B
              $B$r@8@.$9$k!#(B i  =  i  +  1 $B$r2!$7$N$1$F(B++i $B$d(Bi  +=  1 $B$r;H$&$N$O!"(B $B=q$-J}$NLL$+(B
              $B$i$G$"$C$F8zN($rLdBj$K$7$F$$$k$+$i$G$O$J$$(B(Q4.7 $B$b;2>H$N$3$H(B)$B!#(B

Q17.20:       $B$J$<0J2<$N%3!<%I$O%/%i%C%7%e$9$k$N$+!#(B
              char  *p  =  "Hello,  world!";
              p[0]  =  tolower(p[0]);

A17.20:       $BJ8;zNsDj?t$O!"(B ($B$h$&$9$k$K(B) $BG[Ns$N=i4|2=;XDj;R$H$7$F;H$o$l$k$H$-$r=|$$$F(B
              $B$O!"(B $BI,$:$7$bJQ992DG=$G$O$J$$!#(B $B0J2<$NJ}K!$r;n$9$3$H!#(B

              char  a[]  =  "Hello,  world!";

              ($B8E$$%3!<%I$r%3%s%Q%$%k$9$k$?$a$K!"(B $BJ8;zNs$r=q$-9~$_2DG=$K$9$k$+$I$&$+@)(B
              $B8f$9$k%9%$%C%A$r;}$C$F$$$k%3%s%Q%$%i$b$"$k(B)$B!#(B Q2.1$B!"(B Q2.2$B!"(B Q17.2 $B$b;2>H$N(B
              $B$3$H!#(B

              References:  [ANSI] Sec.  3.1.4 .

Q17.21:       $B%W%m%0%i%`$,Av$kA0$K%/%i%C%7%e$9$k(B($B%G%P%C%,!<$r;H$C$F0l9T$E$D%9%F%C%W(B
              $B<B9T$GDI$&$H(Bmain $B$N:G=i$N9T$r<B9T$9$kA0$K;`$s$G$7$^$&(B)$B!#(B

A17.21:       $B$3$N%W%m%0%i%`$O!"(B $BHs>o$KBg$-$J(B(1 $B%-%m%P%$%H$+$=$l0J>e$N(B) $B%m!<%+%k$JG[Ns(B
              $B$r;}$C$F$$$k$O$:$@!#(B $BB?$/$N%7%9%F%`$G$O%9%?%C%/$NBg$-$5$O8GDj$@$7!"(B UNIX
              $B$N$h$&$K%9%?%C%/$rF0E*$K3NJ]$9$k%7%9%F%`$G$b%9%?%C%/$N%5%$%:$,FMA35pBg(B
              $B$K$J$k$H!"(B $B:.Mp$9$k>l9g$,$"$k!#(B

              $BBg$-$JG[Ns$r;H$&$H$-$O(Bstatic $B$H@k8@$7$?$[$&$,$$$$(B($B$b$A$m$s:F5"8F$S=P$7(B
              $B$9$k$?$S$K?7$7$$G[Ns$,I,MW$K$J$k>l9g$O=|$/(B)$B!#(B (Q9.4 $B$b;2>H$N$3$H(B)

Q17.22:         $B!V(BSegmentation violation$B!W(B $B$H$+(B $B!V(BBus error$B!W(B $B$O2?$r0UL#$9$k$N$+!#(B

A17.22:       $B%"%/%;%9$9$Y$-$G$J$$5-21NN0h$K%W%m%0%i%`$,%"%/%;%9$7$h$&$H$7$?$3$H$r0U(B
              $BL#$7$F$$$k!#(B $B$-$C$H%]%$%s%?$N;H$$J}$,E,@Z$G$J$+$C$?$+$i$K0c$$$J$$!#(B $B$3$&(B
              $B$$$&$3$H$O=i4|2=$5$l$F$$$J$$%]%$%s%?$H$+!"(B $B@5$7$/3NJ]$5$l$F$$$J$$NN0h$r(B
              $B;X$9%]%$%s%?(B(Q3.1$B!"(B Q3.2 $B;2>H(B) $B$d!"(B malloc(Q17.23 $B;2>H(B) $B$d(Bscanf(Q11.3 $B;2(B
              $B>H(B) $B$r;H$&$H$h$/5/$3$k!#(B

Q17.23:       $B%W%m%0%i%`$,K=Av$7$?!#(B $B$I$&$b(Bmalloc $B$NCf$G$*$+$7$/$J$C$F$$$k$h$&$@!#(B $B$?$@(B
              $B;d$K$O$J$K$,0-$$$N$+$o$+$i$J$$!#(B

A17.23:       malloc $B$NFbIt$N%G!<%?9=B$$O;DG0$J$,$iHs>o$K4JC1$K2u$9$3$H$,$G$-$k!#(B $B$7$+(B
              $B$b0z$-5/$3$5$l$k>c32$ODI@W$7$K$/$$$b$N$H$J$k$3$H$,$"$k!#$$$A$P$s$h$/$"$k(B
              $B>c32$N85$O!"(B malloc $B$7$?NN0h$X3NJ]$7$?Bg$-$5$h$j$bB?$/=q$-9~$s$G$7$^$&$3(B
              $B$H$G$"$k!#(B $B$h$/$"$kNc$O!"(B $BBg$-$5(Bstrlen(s)+1 $B$G$O$J$/!"(B $BBg$-$5(Bstrlen(s) $B$@(B
              $B$1(Bmalloc $B$G3NJ]$9$k$3$H$G$"$k!#(B $BB>$K$O(Bmalloc $B$G3NJ]$7$?@h$r;X$7$F$$$J$$(B
              $B%]%$%s%?$r(Bfree $B$r;H$C$F3+J|$7$h$&$H$7$?$j!"(B $B%L%k%]%$%s%?$r;H$C$F(Brealloc
              $B$r8F$S=P$9$3$H$b>c32$r0z$-5/$3$9(B(Q3.12 $B$r;2>H(B)$B!#(B

              malloc $B$K4X$9$kLdBj$N2r7h$rMF0W$K$9$k$h$&$J%G%P%C%0;Y1g%Q%C%1!<%8$,=P$^(B
              $B$o$C$F$$$k!#?M5$$N$"$k$b$N$N0l$D$O(Bcomp.sources.misc $B$K(B1992 $BG/$N(B9 $B7n$K%]%9(B
              $B%H$5$l$?(BConor P. Cahill $B$N!V(Bdbmalloc$B!W$G$"$k!#$=$NB>$K$O(Bcomp.sources.unix
              $B$N%"!<%+%$%V$N%\%j%e!<%`(B27 $B$+$i<j$KF~$k(B $B!V(Bleak$B!W!"(B Fidonet $B$N(BC__ECHO $B$H(B
              $B$$$&(BECHO $B$K$"$k(BSnippets($B$"$k$$$O(Barchie $B$KJ9$1!#(B Q17.12  $B$r;2>H(B) $B$K$"$k(B
              JMalloc.c $B$H(BMalloc.h$B!"(Bdorado.crpht.lu $B$N%G%#%l%/%H%j(Bpub/sources/memdebug
              $B$K$"$k(BMEMDEBUG $B$,$"$k!#(B Q17.12 $B$b;2>H$N$3$H!#(B

Q17.24:       C $B%3%s%Q%$%i$NBEEv@-$r8!::$9$k0lO"$N%F%9%H$r$@$l$+;}$C$F$$$J$$$+!#(B

A17.24:       Plum  Hall($B0JA0$O(BCardiff,  NJ$B!"(B $B8=:_$O(BHawaii) $B$,Gd$C$F$$$k!#(B FSF $B$N(BGNU
              C(gcc) $B$NG[I[$K$O(Bc-torture-test.tar.Z $B$H$$$&%Q%C%1!<%8$,4^$^$l$F$$$k!#(B
              $B$3$l$O%3%s%Q%$%i$N$h$/$"$kLdBjE@$r%A%'%C%/$9$k$b$N$G$"$k!#(B Kahan $B$N%Q%i(B
              $B%N%$%"!&%F%9%H$O(Bresearch.att.com $B$N%G%#%l%/%H%j(Bnetlib/paranoia $B$+$i<j$KF~(B
              $B$l$k$3$H$,$G$-$k!#$3$l$O(BC $B$NIbF0>.?tE@?t7W;;$N<BAu$K87$7$$%F%9%H$r9T$&!#(B

Q17.25:       C $B8@8l$NJ8K!$r(BYACC $B$G=q$$$?$b$N$O!"(B $B$I$3$G<j$KF~$k$+!#(B

A17.25:       $B:G$b3N$+$JJ8K!$OEvA3(BANSI $B5,3J$NCf$K$"$k!#(B $B$=$NB>$K(BJim Roskind $B$K$h$k$b(B
              $B$N$,(Bics.uci.edu $B$N%G%#%l%/%H%j(Bpub/*grammar*$B$KCV$+$l$F$$$k!#(B (Jeff  Lee $B$K(B
              $B$h$k(B)ANSI $BJ8K!$KFyIU$1$7$FF0$/$h$&$K$7$?$b$N$,(Buunet(Q17.12 $B$r;2>H(B) $B$N(B
              usenet/net.sources/ansi.c.grammar.Z $B$K!"(B $BBP1~$9$k;z6g2r@O%D!<%k$H$H$b$KCV(B
              $B$+$l$F$$$k!#(B FSF $B$N(BGNU C $B%3%s%Q%$%i$OJ8K!$r4^$s$G$$$k!#(B $B$3$l$O(BK&R $B$N(B
              $BBh(B2 $BHG$NIUO?$K$b$H$E$$$F$$$k!#(B

              References:  [ANSI] Sec.  A.2 .

Q17.26:       $B<0$r9=J82r@O$7$F!"(B $B<0$N1i;;7k2L$rF@$k%3!<%I$,M_$7$$!#(B

A17.26:       2 $B$D$N%Q%C%1!<%8$,F~<j2DG=$G$"$k!#(B $B0l$DL\$O(B $B!V(Bdefunc$B!W(B $B$H$$$&%Q%C%1!<%8!#(B
              comp.source.misc $B$K(B1993 $BG/(B12 $B7n(B(V41 i32,33) $B$K!"$^$?(Balt.sources $B$K(B1994 $BG/(B1
              $B7n$KEj9F$5$l!"(Bsunsite.unc.edu $B$N%G%#%l%/%H%j(Bpub/packages/development/libraries/defunc-1.3.tar.Z
              $B$+$iF~<j2DG=$G$"$k!#(B $B$b$&0l$D$O(B $B!V(Bparse$B!W(B $B$G(Blamont.ldgo.columbia.edu $B$+$i(B
              $BF~<j2DG=$G$"$k!#(B

Q17.27:       $B!H6a;w$N!I(Bstrcmp $B$H$G$b$$$&$h$&$J%k!<%A%s$,M_$7$$!#(B $BFs$D$NJ8;zNs$,6a$$!"(B $B$1(B
              $B$l$II,$:$7$b$T$C$?$j$G$J$/$F$b$h$$!"(B $B$+$I$&$+$r%A%'%C%/$9$k%k!<%A%s$,M_(B
              $B$7$$!#(B

A17.27:       $B$3$N<j$N$3$H$r$9$kEAE}E*$J%k!<%A%s$O!H(Bsoundex$B!I%"%k%4%j%:%`$K4X$j$,$"$k!#(B
              $B$3$N%"%k%4%j%:%`$OF1$8MM$JH/2;$NC18l$rF1$8?tCM$N%3!<%I$K%^%C%W$9$k$N$K(B
              $B;H$o$l$k!#(B soundex $B$O%I%J%k%I!&%/%L!<%9$N8EE5$N(B $B!X4pK\;;K!!Y(B $B$NC5:w$H@0Ns(B
              $B$N4,$G5-=R$5$l$F$$$k!#(B

Q17.28:       $BF|IU$+$iMKF|$r5a$a$kJ}K!$O!#(B

A17.28:       $B%k!<%A%s(Bmktime(Q12.6$B!"(BQ12.7 $B$r;2>H(B) $B$r;H$&$+!"(BZeller $B$N8x<0$r;H$&$+!"(Bsci.math
              $B$N(BFAQ $B$r;2>H$9$k$+!"(B $B$"$k$$$O:dK\CRI'$,Ej9F$7$?0J2<$N%3!<%I$r;n$9$3$H!#(B

              dayofweek(y,  m,  d)  /*  0  =  Sunday  */
              int  y,  m,  d;  /*  1  <=  m  <=  12,    y  >  1752  or  so  */
              {
                     static  int  t[]  =  {0,  3,  2,  5,  0,  3,  5,  1,  4,  6,  2,  4};
                     y  -=  m  <  3;
                     return  (y  +  y/4  -  y/100  +  y/400  +  t[m-1]  +  d)  %  7;
              }

Q17.29:       $B5*85(B2000 $BG/$O$&$k$&G/$+!#(B (year  %  4  ==  0) $B$O$&$k$&G/$+$I$&$+$N@53N$J%F(B
              $B%9%H$+!#(B

A17.29:       $B0l$D$a$NLdBj$NEz$($O(BYES$B!"(B $BFs$D$a$O(BNO $B$G$"$k!#(B $B%0%l%4%j%*Nq$N%+%l%s%@MQ(B
              $B$N@5$7$$<0$O0J2<$N<0$GI=$o$5$l$k!#(B

              year  %  4  ==  0  &&  (year  %  100  !=  0  ||  year  %  400  ==  0)

              $B>\:Y$K$D$$$F$O!"(B $B$^$H$b$JE7J83XG/4U$+$=$NB>$N;29M=q$r8+$k$3$H!#(B

Q17.30:         $B!V(Bchar$B!W(B $B$H$$$&$N$O$I$&H/2;$9$k$N$+!#(B

A17.30:       C$B8@8l$N%-!<%o!<%I$N!V(Bchar$B!W$NH/2;$N;EJ}$O>/$J$/$H$b(B3$BDL$j$O$"$k!#!V(Bchar($B%A%c!<(B)$B!W!"(B
             $B!V(Bcare($B%1%"(B)$B!W!"(B $B!V(Bcar($B%+!<(B)$B!W(B $B$N$h$&$KH/2;$9$k!#(B $B$I$l$r;H$C$F$b$$$$!#(B

Q17.31:       C $B8@8l$r3X$V$N$K$h$$K\$O(B?

A17.31:       Mitch Wright $B$,(BC $B$H(BUNIX $B$NJ88%0lMw$rCm<a$rIU$1$F4IM}$7$F$$$k!#(B $B$3$l$O(B
              ftp.rahul.net $B$N%G%#%l%/%H%j(Bpub/mitch/YABL $B$+$i(Banonymous ftp $B$,2DG=$G(B
              $B$"$k!#(B

              FAQ $B%j%9%H$NJT<T$O!"(B $B$3$N<ALd$N$3$l$^$G$N2sEz$r=8$a$?$b$N$r;}$C$F$$$k!#(B
              $B4uK>$,$"$l$PAw$k!#(B

Q17.32:       $B%M%C%H>e$KN.$l$F$$$k(BC $B$N652J=q$O$"$k$+!#(B

A17.32:       $B>/$J$/$H$b(B2 $B$D$"$k!#(B

          1)  Christopher Sawtell $B$N(B $B!X(BC $B%W%m%0%i%^$X$N3P$(=q$-(B:Notes for C programmers$B!Y(B
              $B0J2<$N%5%$%H$+$i<j$KF~$k!#(B

              svr-ftp.eng.cam.ac.uk:misc/sawtell_C.shar
              garbo.uwasa.fi:/pc/c/c-lesson.zip
              paris7.jussieu.fr:/contributions/docs

          2)  Tim Love $B$N(B $B!X(BC for Programmers$B!Y(B
              svr-ftp.eng.cam.ac.uk $B$N(Bmisc $B%G%#%l%/%H%j$+$iF~<j2D!#(B

Q17.33:       $B$3$N%j%9%H$r$b$&0lItM_$7$$$,$I$&$7$?$i$h$$$+!#(B $B8E$$%j%9%H$O$I$&$+!#(B

A17.33: $B%M%C%H$+$i$R$C$Q$C$F$/$l$P$h$$!#7n;O$a$K(Bcomp.lang.c $B$KEj9F$5$l(B
              $B$k!#(BExpire:$B9TIU$-$G!"(B1 $B%+7n$O;D$C$F$$$k!#C;=LHG$bMQ0U$7(B
              $B$F$$$k(B($BEj9F$b$7$F$$$k(B) $B$7!"BgI}$KJQ99$7$?HG$K$OJQ99E@$N(B
              $B%j%9%H$bMQ0U$7$F$$$k!#(B $B$3$l$i$N%j%9%H$O%K%e!<%9%0%k!<%W(B
              comp.answers $B$d(Bnews.answers $B$K$bEj9F$5$l$k!#(B $B$3$N(BFAQ $B$b(B
              $B4^$a$F(Bnews.answers $B$X$NEj9F$d$=$NB>$N(BFAQ $B$rJ]B8$7$F$$$k(B
              $B%5%$%H$O$$$/$D$+$"$k!#%5%$%H(Brtfm.mit.edu($B%G%#%l%/%H%j(B
              pub/usenet/news.answers/C-faq/$B$H(Bpub/usenet/comp.lang.c/) 
              $B$d%5%$%H(Bftp.uu.net ($B%G%#%l%/%H%j(B
              usenet/news.answers/C-faq/) $B$O!"$=$N$h$&$J%5%$%H$N$&$A$N(B
              2 $B$D$G$"$k!#(Barchie $B%5!<%P!<$O$=$N$h$&$J%5%$%H$r8+$D$1$k(B
              $B=u$1$K$J$k!#(B archie $B$K!H(Bprog C-faq$B!I$HJ9$$$F$_$m!#(B $B$=$N(B
              $BB>$N>pJs$O(Bnews.answers $B$N(Bmeta-FAQ list $B$+$iF@$i$l$k!#(B 
              17.12 $B$b;2>H$N$3$H!#(B

$B$3$N%j%9%H$OH/E8$7B3$1$k;qNA$G$"$k!#(B $BC1$K:#7n$N6=L#?<$$<ALd$X(B
$B$N2sEz$N4s$;=8$a$G$O$J$$!#(B $B@N$N%j%9%H$O;~BeCY$l$GBg$7$?>pJs$r(B
$B;}$C$F$$$J$$!#Nc30$O!"(B $B$H$-$I$-$"$kBG$A4V0c$($NCf$G!"(B $B:#2s$N%j(B
$B%9%H$K4^$^$l$F$$$J$$$b$N$G$"$k!#(B

A         $B;29MJ88%(B
$B;29MJ88%(B
[ANSI]         American National Standard for Information Systems - Programming Language
               - C, ANSI X3.159-1989 (Q5.2 $B;2>H(B).
[JLB]          Jon Louis Bentley, Writing Efficient Programs, Prentice-Hall, 1982, ISBN 0-13-970244-X.
               ($BK.Lu(B:$B%W%m%0%i%`2~NI3X6aBe2J3X<R(BISBN4-7649-0159-5)
[H&S]          Samuel P. Harbison and Guy L. Steele, C: A Reference Manual, Second Edition,
               Prentice-Hall,  1987,  ISBN 0-13-109802-0. (4 $BHG$,:G6a=PHG$5$l$?(B) ($BK.Lu(B:$B>\:Y(BC
               $B8@8l(B:H&S $B%j%U%!%l%s%9F|K\%=%U%H%P%s%/(BISBN4-89052-050-3)
[PCS]          Mark R. Horton, Portable C Software, Prentice Hall, 1990, ISBN 0-13-868050-7.
               ($BK.Lu(B:$B%]!<%?%V%k(BC $B%W%m%0%i%_%s%0%H%C%Q%s(B)
[EoPS]         Brian  W.  Kernighan  and  P.J.  Plauger,  The  Elements  of  Programming  Style,
               Second Edition, McGraw-Hill, 1978, ISBN 0-07-034207-5. ($BK.Lu(B:$B%W%m%0%i%`=qK!(B
               $BBh(B2 $BHG6&N)=PHG(B)
[K&R I]        Brian  W.  Kernighan  and  Dennis  M.  Ritchie,  The  C  Programming  Language,
               Prentice Hall, 1978, ISBN 0-13-110163-3. ($BK.Lu(B:$B%W%m%0%i%_%s%08@8l(BC $B6&N)=PHG(B)
[K&R II]       Brian  W.  Kernighan  and  Dennis  M.  Ritchie,  The  C  Programming  Language,
               Second  Edition, Prentice Hall, 1988, ISBN 0-13-110362-8, 0-13-110370-9. ($BK.Lu(B:
               $B%W%m%0%i%_%s%08@8l(BC $BBh(B2 $BHG6&N)=PHG(B)
[Knuth]        Donald E. Knuth, The Art of Computer Programming, (3 vols.), Addison Wesley,
               1981. ($BK.Lu(B:$B4pK\;;K!(B)
[CT&P]         Andrew Koenig, C Traps and Pitfalls, Addison-Wesley, 1989, ISBN 0-201-17928-8.
       ($BK.Lu(B:C $B$NMn$H$77j%H%C%Q%s(B)
          [1]  P.J. Plauger, The Standard C Library, Prentice Hall, 1992, ISBN 0-13-131509-9.
          [2]  Harry  Rabinowitz  and  Chaim  Schaap,  Portable  C,  Prentice-Hall,  1990,  ISBN
               0-13-685967-4. ($BK.Lu(B:C $B8@8l%]!<%?%S%j%F%#F~Lg5;=QI>O@<R(B)
    $B$b$C$H9-HO0O$K$o$?$k;29MJ88%$N0lMw$O%$%s%G%#%"%s%R%k%9%?%$%k%,%$%I$N2~D{HG$K$G(B
$B$F$$$k(B(Q14.3 $B$r;2>H(B)$B!#(B Q17.31 $B$b;2>H$N$3$H!#(B

$B<U<-(B
    $BD>@\$K$"$k$$$O4V@\E*$K$3$N(BFAQ $B$K9W8%$7$F$/$l$?0J2<$N3'$5$s$K46<U$9$k!#(B
    Jamshid Afshar, Sudheer Apte, Randall Atkinson, Dan Bernstein, Vincent Broman, Stan
Brown,  Joe  Buehler,  Gordon  Burditt,  Burkhard  Burow,  Conor  P.  Cahill,  D'Arcy  J.M.
Cain,  Christopher  Calabrese,  Ian  Cargill,  Paul  Carter,  Billy  Chambless,  Raymond  Chen,
Jonathan  Coxhead,  Lee  Crawford,  Steve  Dahmer,  Andrew  Daviel,  James  Davies,  Jutta
Degener,  Norm  Diamond,  Jeff  Dunlop,  Ray  Dunn,  Stephen  M.  Dunn,  Michael  J.  Eager,
Dave Eisen, Bjorn Engsig, Chris Flatters, Rod Flores, Alexander Forst, Jeff Francis, Dave
Gillespie,  Samuel  Goldstein,  Alasdair  Grant,  Ron  Guilmette,  Doug  Gwyn,  Tony  Hansen,
Joe  Harrington,  Guy  Harris,  Elliotte  Rusty  Harold,  Jos  Horsmeier,  Blair  Houghton,  Ke
Jin, Kirk Johnson, Larry Jones, $BKLLn6V0l(B, Peter Klausler, Andrew Koenig, Tom Koenig,
Ajoy Krishnan T, Markus Kuhn, John Lauro, Felix Lee, Mike Lee, Timothy J. Lee, Tony
Lee, Don Libes, Christopher Lott, Tim Love, Tim McDaniel, Stuart MacMartin, John R.
MacMillan,  Bob  Makowski,  Evan  Manning,  Barry  Margolin,  George  Matas,  Brad  Mears,
Bill Mitchell, Mark Moraes, Darren Morby, Ken Nakata, Landon Curt Noll, David O'Brien,
Richard A. O'Keefe, Hans Olsson, Philip (lijnzaad@embl-heidelberg.de), Andrew Phillips,
Christopher Phillips, Francois Pinard, Dan Pop, Kevin D. Quitt, Pat Rankin, J. M. Rosenstock, 
Erkki  Ruohtula,  $B:dK\(B $BCRI'(B,  Rich  Salz,  Chip  Salzenberg,  Paul  Sand,  DaviD  W.
Sanderson, Christopher Sawtell, Paul Schlyter, Doug Schmidt, Rene Schmit, Russell Schulz,
Patricia Shanahan, Peter da Silva, Joshua Simons, Henry Spencer, David Spuler, Melanie
Summit,  Erik  Talvola,  Clarke  Thatcher,  Wayne  Throop,  Chris  Torek,  Andrew  Tucker,
Goran Uddeborg, Rodrigo Vanegas, Jim Van Zandt, Wietse Venema, Ed Vielmetti, Larry
Virden,  Chris  Volpe,  Mark  Warren,  Larry  Weiss,  Freek  Wiedijk,  Lars  Wirzenius,  Dave
Wolverton, Mitch Wright, Conway Yee, Zhuo Zang
    $BFC$K(BKarl Heuer $B$H(BMark Brader $B$K!"(B $B$h$j$h$$(BFAQ $B$N%j%9%H$r:n$k$H$$$&=*$o$j$N$J$$(B
$BL\E*DI5a$N$?$a$K;d$N9%$_$rJ*$H$b$;$:!"(B $B$H$-$K$O;d$N2fK}$r1[$($??e@h0FFb$r$7$F$/$l(B
$B$?$3$H$K46<U$9$k!#(B
                                                                   Steve Summit scs@eskimo.com

    $B$3$N5-;v$NCx:n8"$O(B1988$B!"(B1990-1995 $BG/$KEO$C$F(BSteve Summit$B$K5"B0$9$k!#JT<T$NL>(B
$BA0$H!"$3$NCm0U=q$-$,0];}$5$l$F$$$k8B$j<+M3$K:FG[I[$7$F$h$$!#(B $B$3$N5-;vFb$K8=$l$k(BC
$B$N%3!<%I(B(vstrcat()$B!"(B error()$B!"(B etc.) $B$O!"%Q%V%j%C%/%I%a%$%s$G!"$$$+$J$k@)8B$b$J$7$K;HMQ(B
$B$7$F$h$$!#(B

This article is Copyright 1988, 1990-1995 by Steve Summit.  It may
be freely redistributed so long as the author's name, and this
notice, are retained.  The C code in this article (vstrcat(),
error(), etc.)  is public domain and may be used without
restriction.


$BF|K\8lHG$N<U<-(B

$BF|K\8lHG$r=P$9$K$"$?$C$F0J2<$NJ}$K!"MM!9$J7A$G=u$1$F$b$i$$$^$7$?!#46<U$7$F$^$9!#(B

void$B$5$s!"@n2<7IG7$5$s!"Ln8}63;R$5$s!"MZL4$5$s!"HS4V>:$5$s!"@1Ln9@;V$5$s!"(B
$B7k>k5A7I$5$s!"EDJUNIB'$5$s!":dK\CRI'$5$s!"%U%#%s%m!<%@!<$5$s!"@DLZOBKcO$$5$s(B
($B=gITF1(B)

$B:G8e$K86Cx<T$N(BSteve Summit$B$5$s$K!";d$N:Y$+$$<ALd$K0l!9CzG+$KEz$($F$b$i$C$?$3$H$r46<U$7$^$9!#(B

