大一同学的基础C问题

来源:百度知道 编辑:UC知道 时间:2024/05/24 13:00:33
NO.1
main()
{int a,b,c,d;
unsigned u;
a=12;
b=-24;
u=10;
c=a+u;
d=b+u;
printf("%d,%d\n",c,d);
}

干吗又int又unsigned?u跟abcd是一个类型的数啊

NO.2
main()
{
int i;
float x,y;
char c;
i=2;x=3.0; c='A';
y=2.0+i*c+x;
printf("y=%f\n,y");
}
为啥输出结果是135.000 000? float类型不是只有7位有效数字吗,干嘛后面有那么多零?
%f后面为什么有那么多0?

int 是指 signed int,即有符号基本整型
unsigned 是指 unsigned int,即无符号整型。
他们两个是不一样的。

因为printf里用的是%f,所以后面有那么多0.

c语言浮点型默认有六位小数输出,你可以随便定义一个浮点型的数试试看

int 是指 signed int,即有符号基本整型
unsigned 是指 unsigned int,即无符号整型。
他们两个是不一样的。
浮点数可以控制他小数点后的位数如%f.2就只有2位

%.2f,0就少了