鱼C论坛

 找回密码
 立即注册
查看: 4912|回复: 5

关于字符输入函数问题

[复制链接]
发表于 2013-9-13 23:42:21 | 显示全部楼层 |阅读模式
1鱼币
#include <stdio.h>
main()
{
double c;
printf("请输入一个字符\n");
c=getchar();
printf("%c\n",c);
}
这样为什么不管输入什么字符 输出都是空白的
用char 、int、 long这几个定义变量又可以

                                                                     求解

最佳答案

查看完整内容

getchar()的返回值是Int类型的用int 或 long int 就是接收的一个字符的ASCII Char 就是直接接收那个字符 当然在内存中存放的数据是一样的 但double是浮点数 在内存中存放的方式不同 所以无法 讲浮点数以%c的形式输出 申请最佳
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-9-13 23:42:22 | 显示全部楼层
getchar()的返回值是Int类型的用int 或 long int 就是接收的一个字符的ASCII Char 就是直接接收那个字符 当然在内存中存放的数据是一样的
但double是浮点数 在内存中存放的方式不同 所以无法 讲浮点数以%c的形式输出
申请最佳
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-9-13 23:55:48 | 显示全部楼层
同求解释啊,这个问题好
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-9-14 00:12:40 | 显示全部楼层
对于这个问题我试了下,用浮点型的都不行,我认为应为浮点型的必须要有内存留给小数的,所以在压栈的时候将C给压到了小数部分,而输出的时候则是输出的整数部分,所以就会这样了,不知道对不对
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-9-14 00:44:08 | 显示全部楼层
刚刚想到,getchar()的返回值本来就是int 型的,所以用float型的来接受要出问题的
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-9-14 11:48:27 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-2-3 23:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表