| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3668 人关注过本帖
标题:用Cout输出字符时为什么把ASC码输出来了。。。
只看楼主 加入收藏
冒着傻气
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2009-12-2
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:12 
用Cout输出字符时为什么把ASC码输出来了。。。
#include <iostream>
using namespace std;
main()
{
    char a;
    cin>>a;
    a=a+32;
    cout<<a<<endl;
    return 0;
}
(这是个大小写转换的程序,这个问题很菜。。。大家不要笑话我啊
搜索更多相关主题的帖子: 输出 字符 Cout ASC 
2010-03-28 19:58
one_june
Rank: 4
等 级:业余侠客
帖 子:139
专家分:212
注 册:2010-3-14
收藏
得分:0 
没有错误啊???
2010-03-28 20:57
guocaiai
Rank: 2
等 级:论坛游民
帖 子:4
专家分:15
注 册:2010-3-28
收藏
得分:15 
主要是有这么一个问题,你是要进行大小写的转换,你的代码中有一句是a+=32,这就限定了你的输入必须是从‘A’~‘Z’之间的,在ASCII码中超过了这个范围就不能进行大小写字母的转换了 代码加一句就行了:
#include <iostream>
using namespace std;
main()
{
    char a;
    cin>>a;
    if(a<'A'||a>'Z')
    cout<<"error\n";
    else{
       a=a+32;
       cout<<a<<endl;}
         
    return 0;
}
2010-03-28 21:45
lmq43
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-1-13
收藏
得分:0 
同意上一位的讲法
2010-03-28 22:12
hahayezhe
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖南张家界
等 级:贵宾
威 望:24
帖 子:1386
专家分:6999
注 册:2010-3-8
收藏
得分:5 
不要这么麻烦 不管大写小写 a=a^1<<5;输出就可以了!
2010-03-29 08:27
one_june
Rank: 4
等 级:业余侠客
帖 子:139
专家分:212
注 册:2010-3-14
收藏
得分:0 
回复 5楼 hahayezhe
5楼的答案太经典了...
膜拜一下...
2010-03-29 10:51
chenyan3
Rank: 1
来 自:重庆
等 级:新手上路
帖 子:11
专家分:0
注 册:2010-3-14
收藏
得分:0 
回复 5楼 hahayezhe
对不起 可以解释下吗? 我是新手没看懂。。。
2010-03-29 11:49
wei0000
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:80
专家分:136
注 册:2010-3-12
收藏
得分:0 
请问5楼是什么意思啊
2010-03-29 16:29
hahayezhe
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖南张家界
等 级:贵宾
威 望:24
帖 子:1386
专家分:6999
注 册:2010-3-8
收藏
得分:0 
a=a^1<<5;  
这个算法优先级为<<
以8位为例子
1的二进制为 0000 0001
<<5 左移5位  那么为 0010 0000

我们知道大小写之间的 转换值是 32 对应的二进制为
0010 0000
这时 进行异或运算 0^1=1 1^1=0 看大写换小写了 小写换大写了

同理 可以用 按位或 |   0|1=1  1|1=1  看大写变小写  小写没变
                    
2010-03-29 17:08
wei0000
Rank: 3Rank: 3
等 级:论坛游侠
威 望:1
帖 子:80
专家分:136
注 册:2010-3-12
收藏
得分:0 
搞懂了,确实经典啊,“<<”优先级比“^”高啊
2010-03-29 17:10
快速回复:用Cout输出字符时为什么把ASC码输出来了。。。
数据加载中...
 
   



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

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