gpt4 book ai didi

c - getchar() 或 getche() 输入字符的问题

转载 作者:行者123 更新时间:2023-12-01 15:05:53 25 4
gpt4 key购买 nike

当我编译下面用 Borland C++ v5.02 编写的 C 代码(来自 Teach yourself C, 2nd edition-Herbert Schildt)时,我收到如下警告消息:“c61.c(7,6):转换可能会丢失有效数字”

怎么了?

#include "stdio.h"

main()
{
char ch;
ch = getchar();
printf(" You typed: %c", ch);

return 0;
}

另一个例子同样的问题:

#include "conio.h"
#include "stdio.h"

main()
{
char ch;

printf("Enter a character: ");
ch = getche();
printf("\nIts ASCII code is %d", ch);

return 0;
}

最佳答案

getchar() 返回一个 int,因此它可以返回非字符值,如 EOF。因此,当您将返回值存储在较小的数据类型(如 char)中时,您可能会丢失信息。

Schildt 的书籍通常被认为是学习 C(或 C++)最差的书籍,这就是一个很好的例子。你最好买一本更好的书,比如 K&R。

关于c - getchar() 或 getche() 输入字符的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3465557/

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