| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 654 人关注过本帖
标题:关于超过127字符输出的问题,请教啦,谢谢:)
取消只看楼主 加入收藏
lxj_1982
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-11-6
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
关于超过127字符输出的问题,请教啦,谢谢:)
谭浩强写的《C程序设计》第四版的第48页中是这样写的:
char c='?'
c是一个字符变量,实质上是一个字节的整型变量,由于它常用来存放字符,所以被称为字符变量,可以把0~127之间的整数赋给一个字符变量。
程序如下:
int main()
{
  char c1,c2;
  c1=97;
  c2=98;
 printf("c1=%d,c2=%d\n",c1,c2);
 printf("c1=%c,c2=%c\n",c1,c2);
 return 0;
}
输出的结果是:
c1=97,c2=98
c1=a,c2=b
如果把程序中修改为:
int main()
{
  char c1,c2;
  c1=128;
  c2=129;

 printf("c1=%d,c2=%d\n",c1,c2);
printf("c1=%c,c2=%c\n",c1,c2);
 return 0;
}
c1=128按照字符可以输出对应ASCII的符号,但是c2按照字符输出则是一个“?”,这是为什么呢?128和129都超出127了啊;
请大侠们指点,谢谢

搜索更多相关主题的帖子: C程序设计 return color 
2013-11-06 22:05
lxj_1982
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-11-6
收藏
得分:0 
嗯,我想不通的就是为什么128可以输出,而129以后的就是“?”了呢,百思不得其解,呵呵;
我用的是Visual C++ 6.0的编译系统,我自己的计算机是:Intel(R) Core(TM);64位的操作系统
2013-11-06 22:41
lxj_1982
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2013-11-6
收藏
得分:0 
哦,多谢各位大侠了,也就是说超出0~127,输出就是不确定的情况了,不能按照单个字节在计算机中以补码形式存放的思路来看了,对吧。
2013-11-07 10:50
快速回复:关于超过127字符输出的问题,请教啦,谢谢:)
数据加载中...
 
   



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

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