gpt4 book ai didi

c - 为什么在循环中显示 ASCII 字符时出现对齐问题?

转载 作者:行者123 更新时间:2023-11-30 20:30:13 27 4
gpt4 key购买 nike

我想编写一个程序,用 ASCII 数字打印每个字母。该程序应该在一节中打印 8 个带有 ASCII 数字的字母,因此我决定创建一个计数器,并且在每个循环中它应该递增该变量。

此屏幕截图中的问题更加明显:

program output

为什么空格不相等?我认为循环有问题。

我的代码:

int main(void) {
char ch;
int flag = 0;
while ((ch = getchar()) != '#') {
if (isalpha(ch)) {
flag++;
printf("%c : %d \t", ch, ch);
}
if ((flag % 8) == 0) {
printf("\n");
}
}
return 0;
}

最佳答案

循环没有问题。其原因是 \t 之前有额外的“”(空格)。将您的第一个 printf 函数替换为:

printf("%c : %d\t", ch, ch);.

空格相等。

关于c - 为什么在循环中显示 ASCII 字符时出现对齐问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54735759/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com