c简单程序求解释
帮忙解释下结果:#include"stdio.h"main(){chara=176,b=219;printf("%c%c%c%c%c\n",b,a,a,a,b);prin...
帮忙解释下结果:
#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);
}
为什么结果有汉字,求详细解释 展开
#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);
}
为什么结果有汉字,求详细解释 展开
2个回答
展开全部
这与计算机中如何区分ASCⅡ码和汉字编码有关.
汉字编码,以GB2312码为例,是以两个ASCII字符为一个汉字编码,而且用的都是ASCII中扩展字符集中的编码组成,你如果在VC这样的集成环境中调试运行这段程序,C语言运行时库就会使用系统默认的字符处理方式,就会把用于显示ASCII码的编码组合起来显示为汉字,如果你使用TRUBO C或者类似的工具在模拟DOS下运行这段程序,就不会出现汉字了.
你可以把printf("%c%c%c%c%c\n",b,a,a,a,b);改为
printf("%c%c%c%c%c\n",int(b),int(a),int(a),int(a),int(b));试试结果有无改变.
汉字编码,以GB2312码为例,是以两个ASCII字符为一个汉字编码,而且用的都是ASCII中扩展字符集中的编码组成,你如果在VC这样的集成环境中调试运行这段程序,C语言运行时库就会使用系统默认的字符处理方式,就会把用于显示ASCII码的编码组合起来显示为汉字,如果你使用TRUBO C或者类似的工具在模拟DOS下运行这段程序,就不会出现汉字了.
你可以把printf("%c%c%c%c%c\n",b,a,a,a,b);改为
printf("%c%c%c%c%c\n",int(b),int(a),int(a),int(a),int(b));试试结果有无改变.
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询