#include <stdio.h>
struct testStruct
{
int max;
float y;
float x;
};
int main()
{
struct testStruct test;
test.max = 50;
test.y = 0.001;
test.x = 0.05;
printf("%i\n", test.max);
printf("%i\n", test.x);
printf("%i\n", test.y);
}
我用int
和float
的值创建了一个结构体。当我出于某种原因打印这些值时,两个float
值将打印一些垃圾值,如3539983而不是其各自的值。任何人都可以解释为什么这是?值int
正确打印。打印float结构的值
您正在使用您的花车错误的格式说明,在这里看到:http://www.cplusplus.com/reference/cstdio/printf/ – MByD 2014-09-19 13:21:08
你应该使用'%f','%g'或'%e'中的一个来打印浮点值。 '%i'和'%d'是有符号整数。打开编译器警告;您通常会收到格式不匹配的警告。 – 2014-09-19 13:21:25