41488


32～127のASCIIコード(16進、10進、キャラクタ)を表示します。  
(0～31番は画面に表示できない文字なので、表示しません)

[code]

    #include <stdio.h>
    
    main()
    {
        int x, y;       /*ループカウンタ*/
        char c;         /*キャラクタ番号*/
    
        for(x = 2; x < 8; x++)
            printf("16: 10:c | ");
        printf("\n");
        for(x = 2; x < 8; x++)
            printf("---------+-");
        printf("\n");
    
        for(y = 0; y < 16; y++)
        {
            for(x = 2; x < 8; x++)
            {
                c = x * 16 + y;
                printf("%2x:%3d:%c | ", c, c, c);
            }
            printf("\n");
        }
    }
    
[/code]

こちらは(株)アンクの｢Cの絵本｣という参考書からなのですが、上記のプログラムだと実行時にエラーが出ます。何故なのでしょうか。


CC BY-SA 3.0
2018-02-05T08:15:59.483
41485
2018-02-05T13:44:03.267
2018-02-05T13:44:03.267
27276
27276
question
c
ASCIIコード表の作り方に関して


コメントレベルで申し訳ないですが、、、

127 (0x7F) も印刷できない文字では?  
cubickさんのコメントにあるように、 ; が余分でコンパイルエラーの気がします。  
コンパイル環境と、エラーメッセージがあった方が良いです。

あと、「Cの絵本」がいつ頃の Cか分かりませんが、(初版 2002年?)  
古い Cでは、main() の戻り値も必須でないですね。(最近のだと警告がでるでしょうか?)


CC BY-SA 3.0
2018-02-05T12:35:28.423
41488
2018-02-05T12:35:28.423
41485
answer