C语言字符串打印出现特殊字符是怎么回事?请问如何解决这个问题?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言字符串打印出现特殊字符是怎么回事?请问如何解决这个问题?相关的知识,希望对你有一定的参考价值。
这是由于代码页不同的缘故,要把代码页切换到英文格式,才能显示扩展ASCII码,否则,编译系统会把它当作,汉字来显示,就出现了右图中的“怪汉字”。但是,这种情况下却是不能显示汉字的(在贴出的程序中特意“企图”显示一行中文信息,观察它的显示情况,然后把system("chcp 437 > nul");一行注释或删除后再次编译、运行比较再次运行的不同结果),所以,在结束程序之前,再换回到原来的显示汉字状态(system("chcp 936 > nul");)
#include
#include
int main()
char a=176,b=219;
system("chcp 437 > nul");
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);
printf("\\n欢迎使用C语言编程!\\n");
system("pause");
system("chcp 936 > nul");
return 0;
把char chi[5];改成char chi[30];——[]中至少是6,因为输入的apple有5个字符,还有个自动添加的结束符'\\0'呢!
把chi[i]=chi[i]+4;改成if((chi[i]=chi[i]+4)>'Z' && chi[i]<'a' || chi[i]>'z') chi[i]-=26;。不然当+4后走出字符范围时要出错。
以上是关于C语言字符串打印出现特殊字符是怎么回事?请问如何解决这个问题?的主要内容,如果未能解决你的问题,请参考以下文章
C语言不管输入啥,编译之后都是一个错误,零个警告。请问这是怎么回事?