主题:新人求教:关于转义字符问题
碰到以下问题,希望明白的朋友给予解答,先谢谢了。
一.
#include<stdio.h>
main()
{
char a='\375';
printf("%d\n",a);
}
运行结果:-3
这个转义字符是8进制的,转换为10进制应该是253,去找Asc码找对应符号应该是[color=FF0000][color=000000]'Z'[/color][/color],为什么结果却是[color=FF0000]-3[/color]???
二.
#include<stdio.h>
main()
{
int a=300;
char c;
c=a;
printf("%d",c);
}
运行结果:44
这道题是因为超出Asc码取值范围而溢出?300-255=45,超出部分重新取码得到的44?
一.
#include<stdio.h>
main()
{
char a='\375';
printf("%d\n",a);
}
运行结果:-3
这个转义字符是8进制的,转换为10进制应该是253,去找Asc码找对应符号应该是[color=FF0000][color=000000]'Z'[/color][/color],为什么结果却是[color=FF0000]-3[/color]???
二.
#include<stdio.h>
main()
{
int a=300;
char c;
c=a;
printf("%d",c);
}
运行结果:44
这道题是因为超出Asc码取值范围而溢出?300-255=45,超出部分重新取码得到的44?