First off, you are obviously gonna get 1 due to the fact there is a problem in that scanf
statement. You need to remove .2
from there as @weathervane has stated.
cr = scanf("%d %.2f",&x,&y)
to this:
cr = scanf("%d %f",&x,&y)
When you print cr
, you will get a value of 2 instead of 1. You add another var to scan in that scanf
statement and print it, you will see a value of 3.
#include <stdio.h>
main(){
int x, cr, z;
float y;
cr = scanf("%d %f %d",&x,&y, &z);
printf("%d\n", cr);
}
Output:
56
5
2
3
As you could see, cr
is storing the number of var being used.
solved what does it mean to assign a scanf statement to a variable?