gpt4 book ai didi

c - 为什么 putchar 打印的是一些数值而不是我要求它输入的字符?

转载 作者:太空宇宙 更新时间:2023-11-04 02:58:56 25 4
gpt4 key购买 nike

我正在尝试打印出实际的\t 和\b,当我从输入中获得这些操作时。

 int main()

{

int input, specialChar;

while ((input = getchar()) != EOF)

specialChar = 0;

{

if (input == '\t')

{
putchar('\\');
putchar('t');
specialChar = 1;
}

是putchar('');不应该打印出“t”吗?

    if (input == '\b')

{
putchar('\\');
putchar('b');
specialChar = 1;

}


if (specialChar == 0)

putchar(input);

}

return 0;
}

你能告诉我为什么我得到的是“\377”吗?

最佳答案

因为你的循环是:

    while ((input = getchar()) != EOF)
specialChar = 0;

然后,当您退出循环时,您将:

    {

if (input == '\t')

{
putchar('\\');
putchar('t');
specialChar = 1;
}

这意味着您可以:

    if (specialChar == 0)
putchar(input);

在输入中有一个“EOF”,作为一个字符,分别是十六进制、十进制和八进制的 0xff、255 或 0377。

四处移动你的牙套,让它覆盖整个循环!

关于c - 为什么 putchar 打印的是一些数值而不是我要求它输入的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14298276/

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