I don't know about your scanf issue.
With Visual Studio 2010, I tried this and it worked:
#include<conio.h>
int main()
{
int z;
int firstv,secv;
char op;
printf("Please enter operator\n");
scanf("%c",&op);
printf("Please enter first value to calculation\n");
scanf("%d",&firstv);
printf("Please enetr second number\n");
scanf("%d",&secv);
if (op=='+')
{
z= add(firstv,secv);
printf("The addtion of %d and %d is %d\n",firstv,secv,z);
}
if (op=='-')
{
z=sub(firstv,secv);
printf("The substration of %d and %d is %d\n",firstv,secv,z);
}
if (op=='*')
{
z= multi(firstv,secv);
printf("the multiplication of %d and %d is %d\n",firstv,secv,z);
}
if(op=='/')
{
z=divi(firstv,secv);
printf("The division of %d and %d is %d",firstv,secv,z);
}
_getch();
}
I fixed the assignment/comparison problem and changed the comparisons to be char not string (the compiler wouldn't compile it with strings in comparisons).
Try this and see what happens.