| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 693 人关注过本帖
标题:[求助]关于getchar()函数的问题
只看楼主 加入收藏
pvocnxit
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2006-6-12
收藏
 问题点数:0 回复次数:7 
[求助]关于getchar()函数的问题

#include <stdio.h>
main( )
{ char ch1,ch2; int n1,n2;
ch1=getchar(); ch2=getchar();
n1=ch1-'0'; n2=n1*10+(ch2-'0');
printf("%d\n",n2);
}
从键盘里输两个字符时我知道,比如:12(回车)输出还是还是12
但是要是只从键盘里输入一个字符呢?ch2=getchar();和n2=n1*10+(ch2-'0');这两句又是怎么执行的呢?(我的调试环境是c-free 3.5)
我输入的几个值:
输入 输出
0 -38
1 -28
2 -18
3 -8

谢谢指点!!!!!!!

搜索更多相关主题的帖子: getchar 函数 
2007-05-17 23:19
夜中梦
Rank: 1
等 级:新手上路
帖 子:132
专家分:0
注 册:2007-5-12
收藏
得分:0 
不知道说的什么意思啊!能不能清楚点

2007-05-17 23:42
yangzhifu
Rank: 1
等 级:新手上路
威 望:2
帖 子:433
专家分:0
注 册:2007-4-11
收藏
得分:0 
其中getchar 的用途是从从标准输入流读取一个字符并回显,读回车符时退出.getchar()一次只能接收一个字符

方寸之内,剖天下; 方坛之内,析自我;
2007-05-17 23:55
coolskyboy
Rank: 2
等 级:论坛游民
帖 子:102
专家分:53
注 册:2007-4-7
收藏
得分:0 

需要这样吗 getchar 获取一个字符 字符实际上是以整数储存的 你再打印的时候 只要用printf 打印的时候用%d 输出就行了 需要的值就回打印出来了


2007-05-17 23:56
marshhj
Rank: 1
等 级:新手上路
帖 子:40
专家分:3
注 册:2007-4-27
收藏
得分:0 
只有一个值怎么可能?你明明用了两个getchar().
2007-05-18 07:47
qq110224037
Rank: 1
等 级:新手上路
帖 子:26
专家分:0
注 册:2007-5-7
收藏
得分:0 
以下是引用pvocnxit在2007-5-17 23:19:03的发言:

#include <stdio.h>
main( )
{ char ch1,ch2; int n1,n2;
ch1=getchar(); ch2=getchar();
n1=ch1-'0'; n2=n1*10+(ch2-'0');
printf("%d\n",n2);
}
从键盘里输两个字符时我知道,比如:12(回车)输出还是还是12
但是要是只从键盘里输入一个字符呢?ch2=getchar();和n2=n1*10+(ch2-'0');这两句又是怎么执行的呢?(我的调试环境是c-free 3.5)
我输入的几个值:
输入 输出
0 -38
1 -28
2 -18
3 -8

谢谢指点!!!!!!!

因为0的ASCLL值十进制为48,1为49,2为50。
输入12后,ch1字符变量为1,ch2字符变量为2。n1=49-48 n2=1*10+(50-48)
最后等于十进制12; 你用二个getchar():时要注意,因为他可以读入回车和换行所以 你一定把要输入的字符连着输入。比如想输入a,b就一定要输ab而不能a b 或a'\n'b

2007-05-18 08:32
sunkaidong
Rank: 4
来 自:南京师范大学
等 级:贵宾
威 望:12
帖 子:4496
专家分:141
注 册:2006-12-28
收藏
得分:0 
楼主:
回车的ASCII是10,你的运行结果其实是相当于输入一个字符在输回车,结果就不难理解了,楼上的兄弟说的很清楚了。

学习需要安静。。海盗要重新来过。。
2007-05-18 10:41
pvocnxit
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2006-6-12
收藏
得分:0 
谢谢你们的指点,受教!!!再次感谢!!!
2007-05-18 20:29
快速回复:[求助]关于getchar()函数的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018104 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved