开天辟地的卷毛 2022-01-05 17:54 采纳率: 83.7%
浏览 18
已结题

c primer plus编程练习习题的问题。关于重定向的问题

编写一个程序,在遇到EOF之前,把输入作为字符流获取。程序要打印每个输入的字符及其相应的ASCII十进制值,注意,在ASCII序列中,空格字符前面的字符都是非打印字符,要特殊处理,使用控制字符变量法,例如ASCII的1是Ctrl+A,可显示^A。A的ASCII值是Ctrl+A的值加上64。
问:
这里怎么使得dos显示^A.怎么使用控制字符变量法

  • 写回答

1条回答 默认 最新

  • _GX_ 2022-01-05 18:14
    关注
    #include <stdio.h>
    
    int main()
    {
        char ch;
        while ((ch = getchar()) != EOF)
        {
            if (ch < 32)
                printf("^%c %3d\n", '@' + ch, (int)ch);
            else if (ch == 127)
                printf("^? %3d\n", (int)ch);
            else
                printf("%2c %3d\n", ch, (int)ch);
        }
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月21日
  • 已采纳回答 1月13日
  • 创建了问题 1月5日