作业帮 > 综合 > 作业

c语言除法运算问题#include "stdio.h"void main(){int a,b;float c,d;a=3

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/04/28 06:50:00
c语言除法运算问题
#include "stdio.h"
void main()
{int a,b;
float c,d;
a=3;
b=4;
c=10.0;
d=10;
printf("%d,%f,%d,%f,%d,%f",a/b,a/b,c/d,c/d,a/c,a/c);
}
我得到的结果是“0,0.000000,1072693248,1.000000,858993459,0.000000”第三个和第五个数是怎么得到的?取商运算的诸如%d之类的printf函数说明符遵循什么法则?
你那样的话,把原来是int的直接用f%输出,值会变成任意的,原来是float的直接用d%输出也是会变成任意的,你不要奇怪为什么任意的而每次都是1072693248和858993459,它是任意取一个值,每次都是这个值了
你看看这样:
#include "stdio.h"
void main()
{int a,b,x;
float c,d,y;
a=3;
b=4;
c=10.0;
d=10;
x=c/d;
y=c/d;
printf(" %d\n\n %f\n\n %d\n\n %f\n\n %d\n\n %f\n\n",a/b,a/b,c/d,c/d,a/c,a/c);
printf("%d\n\n %f\n\n",x,y);
}
结果就是 x=1,y=1.000000
给点分啊