C Programming - Floating Point Issues - Discussion
Discussion Forum : Floating Point Issues - Point Out Errors (Q.No. 1)
1.
Point out the error in the following program.
#include<stdio.h>
int main()
{
struct emp
{
char name[20];
float sal;
};
struct emp e[10];
int i;
for(i=0; i<=9; i++)
scanf("%s %f", e[i].name, &e[i].sal);
return 0;
}
Answer: Option
Explanation:
Compile and Run the above program in Turbo C:
C:\>myprogram.exe Sundar 2555.50 scanf : floating point formats not linked Abnormal program termination
The program terminates abnormally at the time of entering the float value for e[i].sal.
Solution:
Just add the following function in your program. It will force the compiler to include required libraries for handling floating point linkages.
static void force_fpf() /* A dummy function */ { float x, *y; /* Just declares two variables */ y = &x; /* Forces linkage of FP formats */ x = *y; /* Suppress warning message about x */ }
Discussion:
36 comments Page 4 of 4.
Subha said:
9 years ago
Thank you, @Badhri. Your example grasping easily.
Naveen said:
1 decade ago
can u pls explain it elaborately ???
Kirti said:
1 decade ago
What is emulator? What it does?
Ajeet said:
1 decade ago
Try including <float.h>
Bvdkprasad said:
10 years ago
Useful for me in turbo C.
Ashok said:
1 decade ago
Ya scanf read the value.
Post your comments here:
Quick links
Quantitative Aptitude
Verbal (English)
Reasoning
Programming
Interview
Placement Papers