haas:fall2020:c4eng:scanf_input
Table of Contents
scanf() input
- 1
#include <stdio.h> #include <stdlib.h> int main() { int a, *b; short int c; char d; float e; b = (int *) malloc (sizeof(int) * 1); fprintf(stdout, "Enter an integer: "); fscanf(stdin, "%u", &a); fprintf(stdout, "Enter another integer: "); fscanf(stdin, "%u", b); // why don't we need & in this case? fprintf(stdout, "Enter a short int: "); fscanf(stdin, "%hu", &c); fprintf(stdout, "Enter a char: "); fscanf(stdin, "%c", &d); fprintf(stdout, "Enter a float value: "); fscanf(stdin, "%f", &e); fprintf("Your ints are: %u and %u\n", a, *b); fprintf("Your short int is: %hu\n", c); fprintf("Your char is: '%c'\n", d); fprintf("Your float (trimmed at 2 decimal places) is: %.2f\n", e); return(0); }
Questions
- Why doesn't the input of b in fscanf() need a preceding &?
- Does the program work properly?
- If not, what seems to be going wrong?
- How would you figure out where the problem seems to be manifesting?
- How could you make it right?
Hints
- Try moving the last fprintf() earlier in the list of final fprintf()'s. Does this make a difference? If so, WHY?
haas/fall2020/c4eng/scanf_input.txt · Last modified: 2013/02/15 09:55 by 127.0.0.1