永发信息网

求救:C语言的问题 请大师帮忙

答案:4  悬赏:70  手机版
解决时间 2021-02-24 01:29
  • 提问者网友:你独家记忆
  • 2021-02-23 03:53
求救:C语言的问题 请大师帮忙
最佳答案
  • 五星知识达人网友:往事埋风中
  • 2021-02-23 05:12
%d是INT型的数据,而sin60不是整型数据是小数了,如果一定要输出那就只能错误了,若改成%f就可以输出了
全部回答
  • 1楼网友:人類模型
  • 2021-02-23 08:43
%d输出格式是整型,sin60度不是整型,所以不是正确答案
%f是浮点型,符合输出要求
  • 2楼网友:杯酒困英雄
  • 2021-02-23 07:06
y约等于0.866,所以溢出,不能用整型
  • 3楼网友:洎扰庸人
  • 2021-02-23 06:22
float和整数采用不同的表示方法
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#include
#include
#define PI 3.14159
void main()
{
float a = cos(PI/6);
char *p = &a;
printf("%ld\t%6.6f\t0x%x\t0x%x", *((unsigned long *)p), a, *((unsigned long *)p),((unsigned long *)(p+2)));
getch();
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
输出:
1063105499 0.866026 0xb3db 0x3f5d
------------------
0x3f5db3df = 1063105499(10进制)
内存中就是(0x3f5db3df),输出的时候格式不同,结果不同
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯