This is probably a very elementary problem, but I cannot find the answer anywhere, and this is the first time I\'ve had the problem after several weeks of programming in C. In e
The calling conventions are different in printf, and scanf.
Printf's arguments are typically by value (no &), but scanf has to have pointers. (&)
(You can't put a new value to e.g. 1.0, but you can print it...)
You have to do:
printf("size is %d", size);
instead. This prints the value of the int object size.
But
printf("size is %d", &size);
is undefined behavior.
You are printing the address of size, i.e., &size.
Just pass a plain size.
Try
printf("size is %d", size);
& gives you the memory location (address) of a variable.
printf("size is %d", &size);
So, the above will print the memory location(address) of size, not the value stored in size.
Remove the & in the printf statement as &size --> prints the address.
printf("size is %d", size);