| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 664 人关注过本帖
标题:各位大神,这个程序输入 48,为什么输出时 09 而不是 9 啊
只看楼主 加入收藏
凤鸣八天
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2014-7-15
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:9 
各位大神,这个程序输入 48,为什么输出时 09 而不是 9 啊
#include "stdio.h"
void main()
{
    char C1,C2;
    scanf("%d",&C1);
    C2=C1+9;
    printf("%c%c\n",C1,C2);
}
搜索更多相关主题的帖子: include 
2014-07-24 16:51
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:3 
c1   c2  不是有两个占位符

DO IT YOURSELF !
2014-07-24 19:50
人字托
Rank: 1
等 级:新手上路
帖 子:7
专家分:4
注 册:2014-7-24
收藏
得分:3 
你是输出c1跟c2 c1是0,c2是9,输出当然是09啦。如果输出函数改成printf("%c %c",c1,c2);得到的就是0 9,中间会有一个空格的。
2014-07-24 20:55
i06630224
Rank: 1
等 级:新手上路
帖 子:1
专家分:3
注 册:2014-6-30
收藏
得分:3 
你的c1,c2是char类型
2014-07-28 22:27
少林小和尚
Rank: 2
等 级:论坛游民
帖 子:57
专家分:26
注 册:2013-3-31
收藏
得分:3 
#include "stdio.h"
void main()
{
    char C1,C2;
    scanf("%d",&C1);
    C2=C1+9;
    printf("%c\n",C1);
    printf("%c\n",C2);
}


结果是0   9
0 是48  ASII码为0。
2014-07-29 15:14
clwg
Rank: 2
等 级:论坛游民
帖 子:8
专家分:13
注 册:2014-7-15
收藏
得分:3 
你输出了两个字符
2014-07-29 16:47
zcxhapper
Rank: 1
等 级:新手上路
帖 子:7
专家分:3
注 册:2014-4-8
收藏
得分:3 
因为c1是48,正好是0的ASCII值,所以输出了个0;如果换成printf("%c",c2)就得9了。
2014-07-29 17:31
单机之王
Rank: 2
等 级:论坛游民
帖 子:8
专家分:20
注 册:2014-7-30
收藏
得分:3 
%,是占位符号,两个%c代表后面要输出两个char数据,分别对应c1('0'),c2('9')
2014-07-30 20:46
单机之王
Rank: 2
等 级:论坛游民
帖 子:8
专家分:20
注 册:2014-7-30
收藏
得分:0 
%,是占位符号,两个%c代表后面要输出两个char数据,分别对应c1('0'),c2('9')
2014-07-30 20:46
yanglin_gdqy
Rank: 2
等 级:论坛游民
威 望:3
帖 子:59
专家分:86
注 册:2013-12-2
收藏
得分:3 
当你输入48时,c1 获得的值是'0',对应整型48 ;
 c2 = c1+9,c2获得的值是'9', 对应整型57.
你格式化c1,c2输出%c%c,当然显示09
2014-07-31 01:47
快速回复:各位大神,这个程序输入 48,为什么输出时 09 而不是 9 啊
数据加载中...
 
   



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

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