Mail Archives: djgpp/1996/11/30/16:46:50
| From: | Joe Wright <wrightj AT exis DOT net>
|
| Newsgroups: | comp.os.msdos.djgpp
|
| Subject: | scanf()
|
| Date: | Sat, 30 Nov 1996 16:02:06 -0500
|
| Organization: | Alpha Solutions
|
| Lines: | 23
|
| Message-ID: | <32A0A0CE.622C@exis.net>
|
| Reply-To: | wrightj AT exis DOT net
|
| NNTP-Posting-Host: | ppp-1-1.exis.net
|
| Mime-Version: | 1.0
|
| To: | djgpp AT delorie DOT com
|
| DJ-Gateway: | from newsgroup comp.os.msdos.djgpp
|
I think this is a djgpp question rather than a comp.lang.c one.
Maybe not, but.. I have only one C compiler and its DJ's 2.0.
The stdio scanf() is giving me a fit. First, if I only press
<Enter> when it is waiting for input, it hangs the system. Only
^C gets me out with a SIGINT to the DOS prompt. Is that 'defined'
behavior? This next one drove me crazy for an hour..
double d = 6998.82;
.....
printf("Amount = ");
scanf("%f", &d);
I type what I like, scan() executes but d doesn't change. After
pulling some already sparse hair looking for bugs, I try compiling
it with -Wall and guess what. gcc says "%f" is float and d is
double. I know that! When I declare 'float d;', scanf() does as
expected. Now I know that "%f" in a printf() string is promoted
to double. Is this not the case for scanf()?
I'm getting really tired of scanf().
Joe
- Raw text -