Call by Reference Function in C
- by Chad
Hello everyone,
I would just like a push in the right direction here with my homework assignment. Here is the question:
(1) Write a C function called input which returns void, this
function prompts the user for input of
two integers followed by a double
precision value. This function reads
these values from the keyboard and
finds the product of the two integers
entered. The function uses call by
reference to communicate the values of
the three values read and the product
calculated back to the main program.
The main program then prints the
three values read and the product
calculated. Provide test results for
the input: 3 5 23.5. Do not use arrays
or global variables in your program.
And here is my code:
#include <stdio.h>
#include <stdlib.h>
void input(int *day, int *month, double *k, double *pro);
int main(void){
int i,j;
double k, pro;
input(&i, &j, &k, &pro);
printf("%f\n", pro);
return 0;
}
void input(int *i, int *j, double *k, double *pro){
int x,y;
double z;
double product;
scanf("%d", &x);
scanf("%d", &y);
scanf("%f", &z);
*pro += (x * y * z);
}
I can't figure out how to reference the variables with pointers really, it is just not working out for me.
Any help would be great!