关于#C语言#的问题,如何解决?

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
char ch;
int count=0;
while ((ch = getchar()) != '#')
{
if (count++ %8 == 0)
printf("\n");
else if (ch == '\n')
printf("'\n'-%03d ", ch);
else if (ch == '\t')
printf("'\t'-%03d ", ch);
else if (ch == '\v')
printf("'\v'-%03d ", ch);
else
printf("'%c'-%03d ", ch,ch );
}
printf("结束\n");
return 0;
}

//这个代码目的是让输入的字符每8个打印一行,且表示出字符和对应的ascii码,但是运行的时候,每行的第一个消失不见了

if (count++ %8 == 0)就是没行第一个 你只写了printf("\n"); 没有打印第一个字符ASCII码
修改为 printf("\n'%c'-%03d ", ch,ch );即可

修改如下,供参考:

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
    char ch;
    int count = 0;
    while ((ch = getchar()) != '#')
    {
        if (ch == '\n')
            printf("\'\\n\'-%03d ", ch);   //修改
        else if (ch == '\t')
            printf("\'\\t\'-%03d ", ch);   //修改
        else if (ch == '\v')
            printf("\'\\v\'-%03d ", ch);   //修改
        else
            printf("\'%c\'-%03d ", ch, ch);//修改  

        if (++count % 8 == 0)  //修改 这句应该搬到这里 ++ 前置
            printf("\n");
    }
    printf("结束\n");
    return 0;
}

请看👉 :#C语言-猜数字游戏