初学者一个小问题

来源:百度知道 编辑:UC知道 时间:2024/05/21 19:11:46
main()
{char a;
a=129;
printf("%d\n",a);
}
结果是-127,这个结果是怎么算出来的,最好给个算法

char 类型存贮范围是-128~127
当你把a赋予129的话,则系统会给a赋予127后面的第二个数(能理解吗?),C中,上限值后面就是下限值,是个环,即127过了就是-128,然后是-127,再是-126。。。所以a被赋予-127
明白了吗?

你定义的a是字符型 输出时候"%d\n",a是按整型输出的
把129转化为二进制 然后按整型取
字符型的取值范围和整型的不一样的
字符型的字节数和整型也不一样
具体数字我记不清了,你对照书看一下