#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
值打印正确。
答案 0 :(得分:2)
答案 1 :(得分:2)
printf("%i\n",test.max);
printf("%i\n",test.x);
printf("%i\n",test.y);
应该是
printf("%d\n",test.max);
printf("%f\n",test.x);
printf("%f\n",test.y);
答案 2 :(得分:0)
%d和%i在输出中使用时相同。 变化
printf("%f\n",test.x);
printf("%f\n",test.y);
用于打印您想要的结果