I am trying to read the input from a keyboard which i will use to create a set of multiplications. If i hardcode the integer to use then the program works fine however when
You are not passing the address of variable for multiple to store the result from scanf hence the requirement for scanf("%d", &multiple);.
This is telling the runtime, to read an integer and place it into the address-of variable, hence & must be used. Without it, you got a runtime error as you are passing the value of the variable but the runtime does not know what to do with it.
In a nut-shell, an address-of variable is indicated by &.
Hope this helps, Best regards, Tom.