I think you do not understand well the concept of what a #define
is, the precompilation directive #define
is used to create macros, in this case it replaces a word in your code with another code portion, suppose that your program looks like this:
#include <stdio.h>
#define VALOR 90
int main(){
printf("%d\n",VALOR);
return 0;
}
In the precompiler step, your main function will look like this:
int main(){
printf("%d\n",90);
return 0;
}
Then VALUE is not a variable, nor a constant, but it is a harded number in your program, there is no way to change it without recompiling since that 90 becomes part of the code of your program.
What you have to do as you decide, is declare a variable (in this case in global scope, since the define affects the same scope and is marked in the tags of the question)
#include <stdio.h>
int valor;
int main(){
printf("Por favor introduzca un valor: ");
scanf("%d",&valor);
printf("%d\n",valor);
return 0;
}