关于C语言错误输出的问题,如何解决?

该程序统计输入文本中空格,tab,换行符的数量
但当前程序最后一个printf的第一个参数%d打印后会自带一个D,其他情况下皆可正常运行,只此例外,希望有人能解答一下:-)

源码:

img

错误输出:

img

操作系统macOS 12.1
编译器GCC12.2
C语言

该回答引用ChatGPT
修改后的代码


#include <stdio.h>

int main(int argc, char const *argv[]) {
    int cb, ct, cn;
    cb = ct = cn = 0;
    int t = 1000;
    int c;
    while ((c = getchar()) != EOF) {
        if (c == ' ') ++cb;
        else if (c == '\t') ++ct;
        else if (c == '\n') ++cn;
    }
    printf("%d\t%d\t%d\n", cb, ct, cn);
    return 0;
}


不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^