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

#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");
    }
}

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