User Tools

Site Tools


Sidebar

projects

cci0 (due 20200123)
pct1 (bonus; due 20200123)
wcp1 (due 20200123)
fwf0 (due 20200129)
pct2 (due 20200129)
wcp2 (due 20200129)
dtr0 (due 20200205)
sof0 (due 20200205)
pct3 (due 20200205)
wcp3 (due 20200205)
dow0 (due 20200212)
pct4 (due 20200212)
wcp4 (due 20200212)
bwp0 (bonus; due 20200226)
pct5 (due 20200226)
wcp5 (due 20200226)
cos0 (due 20200304)
pct6 (due 20200304)
wcp6 (due 20200304)
cbf0 (due 20200311)
pct7 (due 20200311)
wcp7 (due 20200311)
pct8 (due 20200318)
wcp8 (due 20200318)
sam0 (due 20200325)
pct9 (due 20200325)
wcp9 (due 20200325)
afn0 (due 20200401)
pctA (due 20200401)
wcpA (due 20200401)
cnv0 (due 20200422)
pctB (due 20200422)
wcpB (due 20200422)
bwp1 (bonus; due 20200422)
gfo0 (due 20200429)
pctC (due 20200429)
wcpC (due 20200429)
eoce (due 20200513)
haas:spring2020:cprog: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/spring2020/cprog/scanf_input.txt · Last modified: 2013/02/15 14:55 by 127.0.0.1