| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 563 人关注过本帖
标题:请高手帮忙看下这个程序运行怎么是"?",本人菜鸟。
只看楼主 加入收藏
iqyuankong
Rank: 2
等 级:论坛游民
帖 子:68
专家分:10
注 册:2009-10-23
结帖率:92.86%
收藏
已结贴  问题点数:20 回复次数:5 
请高手帮忙看下这个程序运行怎么是"?",本人菜鸟。
运行结果怎么会是?应该是32的啊。
#include<stdio.h>
void main()
{
    char c1;
    c1='a';
    char c2;
    c2=c1+('a'-'A');
    printf("%c\n",c2);
}

[ 本帖最后由 iqyuankong 于 2009-11-18 21:13 编辑 ]
搜索更多相关主题的帖子: 运行 
2009-11-18 21:11
wufei1989121
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:39
专家分:113
注 册:2009-11-13
收藏
得分:4 
%c  是输出字符  
#include<stdio.h>
void main()
{
    char c1;
    c1='a';
    char c2;
    //c2=c1+('a'-'A');
    c2='a'-'A';//c2=c1-'A';
    printf("%d\n",c2);
}
答案就是 32

你的程序  c2=c1+('a'-'A');就相当于 c2='a'+('a'-'A');自己分析一下就知道是不能得到32的 'a'的ASCII码97
'A'的65  
2009-11-18 21:31
ginkgo
Rank: 2
等 级:论坛游民
帖 子:20
专家分:54
注 册:2009-11-17
收藏
得分:4 
你的程序
#include<stdio.h>
void main()
{
    char c1;
    c1='a';
    char c2;
    c2=c1+('a'-'A');不可直接减
    printf("%c\n",c2);你输出的是字符格式
}
修改一下,你是不是想求A与a之间的差值
#include<stdio.h>
void main()
{
    int c1,c2;  
    c1='a';
    c2='A';
    printf("%d\n",c1-c2);
}
输出的是32
2009-11-18 21:32
iqyuankong
Rank: 2
等 级:论坛游民
帖 子:68
专家分:10
注 册:2009-10-23
收藏
得分:0 
回复 3楼 ginkgo
这个程序是对字符变量(字符型数据的运算)的运算,不是整型数哦。
2009-11-18 21:45
m456m654
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:3
帖 子:783
专家分:2806
注 册:2009-9-17
收藏
得分:4 
字符c2不能在程序中间定义,如果你的程序是:
#include<stdio.h>
void main()
{
    char c1,c2;
    c1='a';
    c2=c1+('a'-'A');
    printf("%c\n",c2);
}
那么得到的是u(上面加两点的那个鱼,我打不出来);

[ 本帖最后由 m456m654 于 2009-11-18 21:57 编辑 ]
2009-11-18 21:54
ginkgo
Rank: 2
等 级:论坛游民
帖 子:20
专家分:54
注 册:2009-11-17
收藏
得分:0 
回复 4楼 iqyuankong
字符都有它的ASCII码,就是对应一个整型数据,这样转换很简单啊,很容易想,不过,直接操作也可以的,嘿嘿
2009-11-18 22:04
快速回复:请高手帮忙看下这个程序运行怎么是"?",本人菜鸟。
数据加载中...
 
   



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

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