黑马程序员技术交流社区

标题: 关于结构体成员变量值的输出疑惑 [打印本页]

作者: oucding    时间: 2015-4-8 18:17
标题: 关于结构体成员变量值的输出疑惑
#include<stdio.h>

int main(){

    struct Student{
        int age;
        float weight;
        char *name;
    };
   
    struct Student stu1 = {16,58.4,"ZhangSan"};
   
    printf("%f\n", stu1.weight);
    return 0;
}
为啥输出的值不是58.4的精确值呢?是不是跟结构体变量所占内存大小有关啊,这一块我跳过去了,求解释,在线等!!!!!!
作者: shane_west    时间: 2015-4-8 20:02
printf("%.2f\n", stu1.weight);

楼主,float默认输出6位小数点的,.2f输出两位
作者: oucding    时间: 2015-4-9 10:22
shane_west 发表于 2015-4-8 20:02
printf("%.2f\n", stu1.weight);

楼主,float默认输出6位小数点的,.2f输出两位

按理说4后面应该全是0啊,怎么最后一位不是呢,好纠结
作者: 梦想中前行    时间: 2015-4-9 10:46
oucding 发表于 2015-4-9 10:22
按理说4后面应该全是0啊,怎么最后一位不是呢,好纠结

最后一位是什么?
作者: 游戏龙    时间: 2015-4-9 11:30
好象是存储时是两个数之间,但不会等于本来那个数
作者: oucding    时间: 2015-4-9 13:21
梦想中前行 发表于 2015-4-9 10:46
最后一位是什么?

乱的,你复制运行一下试试




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2