标题:c语言中char的输出问题
只看楼主
chenxudongcn
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-3-19
结帖率:100%
已结贴  问题点数:2 回复次数:5 
c语言中char的输出问题
这个C语言程序:
#include <stdio.h>
int main(void)
{
    char x = 'a';
    printf("%c\n", x);
    x = x + 1;
    printf("%c\n", x);
    x = x - 32;
    printf("%c\n", x);
    x = x + 3;
    printf("%c\n", x);
    return 0;
}
为什么最后输出的是
        a
        b
        B
        E
啊?
搜索更多相关主题的帖子: c语言 void include return C语言 
2012-03-19 21:11
achj198781
Rank: 2
等 级:论坛游民
帖 子:18
专家分:42
注 册:2012-3-9
得分:1 
就是这样的啊,
程序代码:
    char x = 'a';
    printf("%c\n", x);//输出a
    x = x + 1;        
    printf("%c\n", x);//ASCII码加1变成输出b
    x = x - 32;
    printf("%c\n", x);//小写字母ASCII码值-23,变成大写,所以是B
    x = x + 3;
    printf("%c\n", x);//加3变成E
    return 0;

用%c来输出整形的话会换成ASCII码值对应的字符
2012-03-19 22:29
这一站,微笑
Rank: 2
等 级:论坛游民
帖 子:7
专家分:14
注 册:2012-3-2
得分:1 
%c表示输出字符型的,每个字符都对应着一个ASCII值,字符进行运算时就是用的ASCII值运算
2012-03-19 22:35
huangshuang
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-3-20
得分:0 
好像很深奥的样子
2012-03-20 08:18
星辰雁
Rank: 4
等 级:业余侠客
威 望:1
帖 子:93
专家分:275
注 册:2011-9-10
得分:0 
你查看一下ASCLL码就明白了

不要认为CPU运算速度快就 把所有的问题都推给它去做,程序员应该将代码优化再优化,我们自己能做的决不要让CPU做 ,因为CPU是为用户服务的,不是为我们程序员服务的!
2012-03-20 09:17
yanshuili
Rank: 2
来 自:揭阳
等 级:论坛游民
帖 子:22
专家分:10
注 册:2011-3-28
得分:0 
.......ASCLL码你应该去看下了
2012-03-20 11:37



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-363684-1-1.html




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

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