| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 738 人关注过本帖
标题:字符之间转换关于输入时是否需要限制范围的疑惑
只看楼主 加入收藏
jiangwu10057
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:341
专家分:667
注 册:2009-3-25
结帖率:88.89%
收藏
已结贴  问题点数:5 回复次数:3 
字符之间转换关于输入时是否需要限制范围的疑惑
程序代码:
#include <stdio.h>
#include <stdlib.h>
void main()
{
    char a;
    int b,c;
    scanf("%d,%c",&c,&a); 
    b=a+c;
    printf("b=%c\nb=%d\nb=%o\nb=%x\n",b,b,b,b);
}
请问我需要对a和b的范围进行限制?
我这个目的是为了实现字符之间的转换。
例:
输入 a,10
输出b=k
我运行了下成功了·但是想到ascii只有255个字符
所以想问下需要对a和b的范围进行限制?(新人小问题请教了)
搜索更多相关主题的帖子: 字符 输入 范围 
2009-10-14 19:40
pgy
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:C
等 级:小飞侠
威 望:8
帖 子:1248
专家分:2329
注 册:2009-9-23
收藏
得分:2 
如果想正常运行,是需要控制在-127到128之间的,无符号是0到255.
但如果不限制,比如你输出129,以%c格式输出,应该1.因为0000 0001 0000 0001 取低8位为0000 0001
不过具体情况可能因编译器而异。

[ 本帖最后由 pgy 于 2009-10-14 19:49 编辑 ]

我可好玩啦...不信你玩玩^_^
2009-10-14 19:47
jiangwu10057
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:341
专家分:667
注 册:2009-3-25
收藏
得分:0 
···我不理解
我去试了下
用10,w
输出(129)10
%C格式输出是“?”
我郁闷··
还有要怎么限制·(格式·?)

[ 本帖最后由 jiangwu10057 于 2009-10-14 20:08 编辑 ]
2009-10-14 19:55
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:3 
当你输入10,w时,不是没有出界吗,%c格式可以有结果,你可以运行看看,在ASCII码表上也能找到。
经过验证,好像是字符是以255为周期的,基本范围是0-255,超过255的从头开始。你可以验证一下,比如156,d
2009-10-14 22:07
快速回复:字符之间转换关于输入时是否需要限制范围的疑惑
数据加载中...
 
   



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

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