| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 425 人关注过本帖
标题:新手··大家帮帮忙·一个输出的问题
只看楼主 加入收藏
panfengyin
Rank: 1
等 级:新手上路
帖 子:2
专家分:4
注 册:2011-3-19
结帖率:0
收藏
已结贴  问题点数:20 回复次数:7 
新手··大家帮帮忙·一个输出的问题
#include<stdio.h>
void fu(long int n)
{
printf("%c",n%10+48);//各位高手帮帮忙+48是什么意思啊
if(n>10)fu(n/10);
}
main ()
{
long int n;
printf("n=");
scanf("%d",&n);
fu(n);
}
说下这是个输入一个数字,然后反向输出的程序,我就是上面注释的不懂大家帮帮忙···
2011-04-24 23:20
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
收藏
得分:3 
将数值转ascii输出,因为十进制的48即十六进制的30H(3*16^1+0*16^0),假如数值为3,加48后即为ASCII的33H,而33h的ascii码即为'3'

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-04-24 23:28
C海一子
Rank: 2
等 级:论坛游民
帖 子:24
专家分:51
注 册:2011-3-21
收藏
得分:3 
你好!以为48是ASCLL代码中字符的0,n%10+48  的意思就是你输入的n与10的余数整数加上48也就是加上0,如,输入的是n=20;20%10+48相当是2+0,所以输出的是02;本人知识有限,不知道你明白了么。我也是新手。大家共同努力咯!
2011-04-24 23:50
waterstar
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:984
专家分:2810
注 册:2010-2-12
收藏
得分:3 
48是字符‘0’的ASCII码,用字符显示数字的时候用这个

冰冻三尺,非一日之寒;士别三日,不足刮目相看!
2011-04-25 00:10
DDAAREN
Rank: 1
等 级:新手上路
帖 子:12
专家分:5
注 册:2011-4-26
收藏
得分:3 
就是将长整型数字n的个位数字转换成字符型
2011-04-27 08:17
其实、不想说
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:122
专家分:156
注 册:2011-3-3
收藏
得分:3 
兄弟去查下ASCCI码就知道了
2011-04-27 11:45
huwengui
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:166
专家分:158
注 册:2011-4-22
收藏
得分:3 
简单的来说就是把字符转为数字:
比如:
输入字符9(char型)    通过减48    就得到数值 9(int型)                       
2011-04-27 16:35
林发扬
Rank: 2
等 级:论坛游民
帖 子:38
专家分:56
注 册:2011-4-12
收藏
得分:3 
同于楼上的da
2011-04-27 18:18
快速回复:新手··大家帮帮忙·一个输出的问题
数据加载中...
 
   



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

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