C编程(初学者帮助)Ascii表

标签 c visual-studio ascii

大家好,大家都需要一些 C 编程方面的帮助。 我需要编写没有数字的 ascii 表:0、7-10、13。每个字符之间将是“\t”,每 10 个字符之后它将跳过行。 我现在的代码:

void ascii()
{
    int i;
    for (i = 0; i <= 255; i++)
    {
        if (i == 0)
        {
            printf("\t");

        }
        if (0 == i % 10)
        {
            printf("\n");
        }       
        printf("%d = %c\t", i, i);

    }
    return;
}

最佳答案

为什么这些代码被排除在外?排除所有不可打印的代码不是更好吗? isprint将做到这一点。

    #include <ctype.h>

    if (isprint(i)) printf("%d = %c\t", i, i);

如果您想排除这些特定代码,您可以使用与 isxxx 函数相同的技术:

char is_print[256] = { 0,1,1,1,1,1,1,0,0,0,0,1,1,0,1,1, /* 0 in pos 0, 7-10 and 13 */
                       1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
                       1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
                       1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
                       1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
                       1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
                       1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
                       1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
                       1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
                       1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
                       1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
                       1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
                       1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
                       1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
                       1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
                       1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
}; /* Filter with 0 for the chars we want to exclude. */ 

int myIsprint(char c) {
    return is_print((unsigned char)c); /* Use the filter */
}

在你的函数中:

if (myIsprint(i)) printf("%d = %c\t", i, i);

注意:

在简单的情况下,您不妨使用 if测试特定代码 if (i != 0 && i != 13 && (i < 7 || i > 10)) print... 。 上述过滤技术的优点是速度快如闪电,并且即使案例数量很大,代码也易于阅读。

关于C编程(初学者帮助)Ascii表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29942397/

相关文章:

c - 如何检测控制台或 Windows 应用程序?

c - C程序读取文件读取额外的一行

visual-studio - 在 Visual Studio Debug模式下复制对象值

C编程: String calculation Using ASCII code

c - 从堆栈递归构建二叉表达式树背后的逻辑

wpf - WPF 应用程序的应用程序洞察

visual-studio - 如何从 Visual Studio 2013 中的项目生成类图?

python - 正则表达式 - 特殊字母字符? - Python

javascript - 无法使用请求模块处理 url

c - 如何将两个或三个字符组合成一个整数/字符