2013年9月17日火曜日

開発環境

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

その他参考書籍

設問 4-3.

printfの引数のformatの%dの数より第二引数以降の式の数の方が少ない場合、不足分の式の値として意味のない数値が生成されるから。(警告は出るけどエラーにはならない。)

コード

sample.c

#include <stdio.h>

int answer;
int main(int argc, char *argv[])
{
    answer = 2 + 2;
    printf("The answer is %d\n");
    printf("The answer is %d\n", answer);
    return (0);
}

入出力結果(Terminal)

$ cc -g -o sample sample.c
sample.c:7:28: warning: more '%' conversions than data arguments [-Wformat]
    printf("The answer is %d\n");
                          ~^
1 warning generated.
$ ./sample
The answer is 1810680592
The answer is 4
$ ./sample
The answer is 1728338704
The answer is 4
$

2回の実行結果で異なる数値が出力されたので、コンパイル時に数値が生成される訳ではなく、実行時に数値が生成されるみたい。

0 コメント:

コメントを投稿