C 练习实例7
题目:输出特殊图案,请在c环境中运行,看一看,Very Beautiful!
程序分析:字符共有256个。不同字符,图形不一样。
VC6.0下出现中文乱码(原因+解决方法):
176的16进制是B0,219的16进制是DB,0xB0DB是"佰"字的内码,所以输出的就是"佰"了。
主要原因是文件信息的代码页不同,我们所使用的操作系统中文状态下的代码页,要显示扩展的ASCII码需要在437 OEM-美国这个下面显示,这样就可以显示出你所希望的。具体修改控制台的默认代码页步骤如下:
- 1.点击运行界面左上角标题栏图标【c:\】,选择默认值一项
- 2.修改默认代码页,936(ANSI/OEM-简体中文GBK)为437 OEM-美国
- 3、关闭后重新运行一下即可
实例
// Created by www.runoob.com on 15/11/9.
// Copyright © 2015年 菜鸟教程. All rights reserved.
//
#include<stdio.h>
int 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);
return 0;
}
以上实例输出结果为:
小智
222***[email protected]
参考方法:
小智
222***[email protected]
大宅院里的三表哥
gul***[email protected]
# Linux环境下可尝试使用字符'█'(utf-8:9608)、'▒'(utf-8:9618)替代例程中的字符:
# 终端运行截图:
# 或尝试临时改变编码方式(修改LANG值为IBM437,未成功),可参考以下博文:
1. [解决Linux终端乱码的两则例子](https://www.cnblogs.com/hyang0/p/6397331.html)
2. [Linux默认字符编码为UTF-8,如出现乱码可设置为GBK](https://www.cnblogs.com/Kconnie/p/5418278.html)
3. [Linux下字符集的安装](https://www.cnblogs.com/jjzd/p/6861995.html)
大宅院里的三表哥
gul***[email protected]
ENE
mae***[email protected]
与其修改编码,不如拥抱 UTF-8,可以使用预处理器功能,使代码能在 win 和 linux 上编译运行
通过 ifdef 查询宏是否定义判断编译平台。
ENE
mae***[email protected]