主题:为什么?
upcsyq
[专家分:180] 发布于 2009-03-06 22:08:00
char a=255;
printf("%d",a);
为什么输出的结果是-1?
回复列表 (共4个回复)
沙发
scaredkinght [专家分:5310] 发布于 2009-03-07 00:29:00
255是-1的补码嘛
板凳
chaosuper85 [专家分:380] 发布于 2009-03-07 00:39:00
#include<stdio.h>
int main()
{
char a=255;
unsigned char b=255;
signed char c=255;
puts("%d的输出");
printf("\t%d\n",a); //输出-1
puts("%c的输出");
printf("\t%c\n",a);
puts("%d的输出"); //输出255
printf("\t%d\n",b);
puts("%c的输出");
printf("\t%c\n",b);
puts("%d的输出"); //输出-1
printf("\t%d\n",c);
puts("%c的输出");
printf("\t%c\n",c);
system("pause");
return 0;
}
3 楼
upcsyq [专家分:180] 发布于 2009-03-09 12:49:00
计算机内部存储的是补码。
那显示的是什么码?
好像有问题哦。
4 楼
moke9 [专家分:30] 发布于 2010-09-02 07:48:00
你好.我是全职网赚工作者.
如果你有时间有电脑.
想在网络上创业.请联系我..
项目绝对真实.详情QQ空间资料
加盟请联系 QQ908889846
我来回复