| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2973 人关注过本帖
标题:输出特殊图案!
只看楼主 加入收藏
jxry8888
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2006-8-13
收藏
 问题点数:0 回复次数:20 
输出特殊图案!
#include "stdio.h"
main()
{
char a=176,b=219;
printf("%c%c%c%c%c\n",b,a,a,a,b);
printf("%c%c%c%c%c\n",a,b,a,b,a);
printf("%c%c%c%c%c\n",a,a,b,a,a);
printf("%c%c%c%c%c\n",a,b,a,b,a);
printf("%c%c%c%c%c\n",b,a,a,a,b);
}
上面的程序在我的C里面打印出来怎么是 一个奇怪的四行汉字
每行结尾都是?

[此贴子已经被作者于2006-8-29 23:25:19编辑过]

搜索更多相关主题的帖子: 图案 printf 输出 打印 main 
2006-08-29 23:19
shuaiye
Rank: 1
等 级:新手上路
帖 子:445
专家分:0
注 册:2006-5-15
收藏
得分:0 
你查查看ASCII码,看看有没有大与128的。

由于工作,N久都没来了!
2006-08-30 10:04
heamer_c
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2006-7-18
收藏
得分:0 
我晕char型还能赋值?!

我就是程序,程序就是我,我还能退出程序吗?!
2006-08-30 10:19
heamer_c
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2006-7-18
收藏
得分:0 
呵呵我晕死,刚才我回复的是“我晕char型也能赋值?!”竟然出现了上一楼的东东

我就是程序,程序就是我,我还能退出程序吗?!
2006-08-30 10:21
shuaiye
Rank: 1
等 级:新手上路
帖 子:445
专家分:0
注 册:2006-5-15
收藏
得分:0 
[QUOTE]我晕char型还能赋值?![/QUOTE]

可以。

由于工作,N久都没来了!
2006-08-30 10:21
heamer_c
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2006-7-18
收藏
得分:0 
呵呵,那段乱吗/怎么 有消失了啊

我就是程序,程序就是我,我还能退出程序吗?!
2006-08-30 10:21
heamer_c
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2006-7-18
收藏
得分:0 
那,请指点一下,在什么情况下呀,举个例子吧

我就是程序,程序就是我,我还能退出程序吗?!
2006-08-30 10:29
chen1236
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2006-8-24
收藏
得分:0 

char 和int 这俩种类型是可以相通的。但是不能超过ASCII码。

2006-08-30 21:05
jxry8888
Rank: 1
等 级:新手上路
帖 子:97
专家分:0
注 册:2006-8-13
收藏
得分:0 
我觉得可以 超过128,但是不可以超过256巴;
每个ASCII码以1个字节(Byte)储存,从0到数字127代表不同的常用符号,这样才有7位,
所以只有128的,后来又将最高的一个位(第八位)也编入这套内码中,成为八个位的延伸ASCII(ExtendedASCII)码,这套内码加上了许多外文和表格等特殊符号,成为目前常用的内码;,所以出现了我上面的 176,219之类的!
不过我对于我上面程序出现的结果仍然感觉 到不懂!

2006-08-31 00:20
shuaiye
Rank: 1
等 级:新手上路
帖 子:445
专家分:0
注 册:2006-5-15
收藏
得分:0 
[QUOTE]我觉得可以 超过128,但是不可以超过256巴;
每个ASCII码以1个字节(Byte)储存,从0到数字127代表不同的常用符号,这样才有7位,
所以只有128的,后来又将最高的一个位(第八位)也编入这套内码中,成为八个位的延伸ASCII(ExtendedASCII)码,这套内码加上了许多外文和表格等特殊符号,成为目前常用的内码;,所以出现了我上面的 176,219之类的!
不过我对于我上面程序出现的结果仍然感觉 到不懂![/QUOTE]

老大你说得没错,书上也写得很明白。

%c是输出8位二进制的字符编码,8位二进制的有符号数的表示范围-128-127,上面你说的扩展ASCII码表示的范围是

无符号数的表示范围值在0-255。你上面代码的赋值整太大,溢出了8为有符号数的表示范围。在多内码的系统中,溢出的

数字正好是这个系统除了ASCII码的其他编码(如在WIN32下编译)。如果在仅只有ASCII为内码的系统中(如DOS下编译)

大于127/255(char 关键字/unsigned char 关键字)的正数将以128/256作为模进行运算。也就是说如果你把编译器换成

早期的16编译器(如TC2。0)进行编译,就不回有这种情况发生了(数值在127-255之间的数用unsigned char 关键字)。

由于工作,N久都没来了!
2006-08-31 09:21
快速回复:输出特殊图案!
数据加载中...
 
   



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

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