| TIP: Click on subject to list as thread! | ANSI |
| echo: | |
|---|---|
| to: | |
| from: | |
| date: | |
| subject: | scanf |
JP> main()
JP> {
JP> int len, width;
JP> printf("Enter length: ");
JP> scanf("%d", &len);
JP> printf("Enter width: ");
JP> scanf("%d", &width);
JP> printf("area is %d", len * width);
JP> }
Cset (and many other compilers, on any platform), for performance
reasons, buffers stdout (the stream that printf() uses). This is NOT an
ISO/ANSI violation. It only flushes the buffer when:
- "\n" is encountered.
- the buffer fills up (a few K)
- fflush(stdout) or flushall() is called.
- the program terminates normally.
Your solution is any one of:
- add a \n to the end of the prompts
- add a fflush(stdout) before each scanf()
- turn buffering off: setvbuf(stdout, NULL, _IONBF, 0);
JP> using an OS/2 compiler, or is Mr. Schildt in error
JP> here?
He should have known better (I've never liked any of this books; how are
you finding it?)
--- Maximus/2 2.02p1
* Origin: Sol 3/Toronto (905)858-8488 (1:259/414)SEEN-BY: 105/42 620/243 711/401 409 410 413 430 807 808 809 934 955 712/407 SEEN-BY: 712/515 628 704 713/888 800/1 7877/2809 @PATH: 259/414 400 99 250/702 3615/50 396/1 270/101 105/103 42 712/515 @PATH: 711/808 809 934 |
|
| SOURCE: echomail via fidonet.ozzmosis.com | |
Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.