回 帖 发 新 帖 刷新版面

主题:为什么?

    char a=255;
    printf("%d",a);
    
    
    为什么输出的结果是-1?

回复列表 (共4个回复)

沙发

255是-1的补码嘛

板凳

#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 楼


计算机内部存储的是补码。
那显示的是什么码?
好像有问题哦。

4 楼

你好.我是全职网赚工作者.
如果你有时间有电脑.
想在网络上创业.请联系我..
项目绝对真实.详情QQ空间资料
加盟请联系 QQ908889846

我来回复

您尚未登录,请登录后再回复。点此登录或注册