一个奇怪的输出问题?各位C高手看过来

shineleaf 2003-09-12 11:19:54
main()
{
double d;
float f;
long l;
int i;
i=f=l=d=20/3;
clrscr();
printf("i=%d,f=%f,d=%f,l=%d\n",i,f,d,l);
}
在turbo c 2.0输出为什么是6,6,0.000000,0.000000,压栈是以什么顺序压的?float和double在内存中存储形式是?
main()
{
int a;
a=10;
clrscr();
printf("%d,%u,%f",a,a,a);
}输出为什么出错?
...全文
112 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
TimesNewRoman 2003-09-12
  • 打赏
  • 举报
回复
第一个你写错了吧?应该输出6,6.000000,6.000000,6。因为20和3都是int型的,所以d=20/3值为6.000000而不是6.666667

69,364

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧