#include<stdio.h>
void main()
{
struct book
{
char name;
float price;
int pages;
};
struct book b[100];
int i;
for (i = 0; i <= 99; i++)
{
printf("\nEnter name price and pages");
fflush(stdin);
scanf("%c%f%d", &b[i].name, &b[i].price, &b[i].pages);
}
for (i = 0; i<99; i++)
printf("\n%c %f %d", b[i].name, b[i].price, b[i].pages);
}
最大的困境,如何通过添加一个函数来解决它,甚至不能调用该函数 即
linkfloat()
{
float a = 0, *b;
b = &a;
a = *b;
}
如何通过添加函数声明和定义来消除这种歧义,甚至不在main函数中调用它?
答案 0 :(得分:1)
大多数处理器没有配备float上的计算,因此为了获得更好的性能,计算机系统使用模拟器来执行与float相关的计算 因为在某些情况下,即使存在对浮点的引用,但编译器没有检测到模拟器的需要,但是当遇到浮点数时,在模拟器中已经设置了一个标志以具有链接器(它结合了目标文件)产生可执行文件的链接,但现在由于编译器没有检测到Emulator的需要,因此我们得到Error-“浮点格式没有链接”。 编译器未检测到仿真器需求的一种情况是在使用scanf接收浮点值时,因此我们在此处遇到此问题。 通过使用链接浮点函数,它可以为编译器提供浮点计算,编译器现在需要模拟器