Remove the & before input.operation and input.value because they are already passed as pointers. It is not necessary to use & before character arrays unless you want to pass a pointer to somewhere other than at the first character in the array.
If you want to use & then do it like this: &input.operation[0], but that is just redundent as explained above.