Here is how I might write what you have now:
Observe my indentation and how I do not have so many unnecessary blank lines.
int And(int x, int y);
int Not(int x);
int Or(int x, int y);
int multiplexer(int x, int y, int z);
printf("\nEnter Value for A: ");
printf("\nEnter Value for B: ");
printf("\nEnter Value for C: ");
printf("\n\nValue from Multiplexer = %d", multiplexer(a, b, c));
int Not(int x)
int And(int x, int y)
return x && y;
int Or(int x, int x)
return x || y;
I have taken the liberty of renaming your functions' parameters. You need to see clearly that naming a parameter And1 does not call the And1 function, and thus having And1 and And2 is redundant.
I have also taken the liberty of declaring a multiplexer function for you and calling it. How to implement it is up to you.