问答详情
源自:5-14 综合练习

为什么把char改成double结果就变了

#include <stdio.h>
int main()
{
    char x=2.3;
    int j=13;
    int z=9;
    char sum;
    sum=j+z*x;
    printf("%d",sum);
    return 0;
}

提问者:qq_丞_0 2015-11-11 16:27

个回答

  • 顾玌
    2015-11-11 20:40:06
    已采纳

    把一个小数定义为char类型本身就不对吧,还用%d去输出char类型,应该用double,char是字符型,可以用来显示一个小数,而不能把它运用到运算里面。double类型用“%lf",char类型用“%c",int型用"%d".至于不一样的原因大概是自动省略了小数点。