第一个测试:
#include<stdio.h>
int main()
{
char a;
a=123;
printf("%c\n",a);
return 0;
}
运行结果:正常输出{
但是,当字符型变量a的值逐渐增加时,结果出现了不同。
第二个测试:
#include<stdio.h>
int main()
{
char a;
a=129;
printf("%c\n",a);
return 0;
}
运行结果:当c的值超过128时,运行结果为?
当我们用变量同时存在时,会怎么样呢?
我们首先引入一个变量,用第一个变量在正常范围,第二个在非正常范围测验
第三个测试:
#include<stdio.h>
int main()
{
char a,b;
a=123;
b=131;
printf("%c%c\n",a,b);
return 0;
}
运行结果:{? 看来,超过128的代码依旧识别不出来
再次利用两个都不在正常范围的实验。
第四个测试:
#include<stdio.h>
int main()
{
char a,b;
a=129;
b=131;
printf("%c%c\n",a,b);
return 0;
}
运行结果:一个不常用的汉字。
经多次试验后,两个不在正常范围的字符型变量连续输出时会出现很多不同的汉字,而且两个字符对应一个汉字。
让我们在引入一个变量。分别进行两个实验。1)三个都在非正常范围内。2)第一个与第三个非正常第二个正常。
第五个测试:
#include<stdio.h>
int main()
{
char a,b,c;
a=129;
b=131;
c=153;
printf("%c%c%c\n",a,b,c);
return 0;
}
运行结果:一个汉字+一个?
第六个测试:
#include<stdio.h>
int main()
{
char a,b,c;
a=129;
b=123;
c=153;
printf("%c%c%c\n",a,b,c);
return 0;
}
运行结果:依旧为一个汉字+一个?
测试结束。
问题:1)为什么会使用紊乱?
2)为什么会形成问号?
3)为什么两个一起时会形成汉字?
4)为什么三个一起时一个正常的和非正常的依旧会形成汉字?