wrong ans in transform the expression

#include<stdio.h>
#include<ctype.h>
int posi(char);
char pr[8]={’^’,’*’,’/’,’~’,’+’,’-’,’(’,’=’};
char stack[100];
int p;
void pop();
void push(char c);
void oper(char c);
void pop1();
int main()
{
int i,size=0,p=-1,j,t;
char string[100];
scanf("%d",&t);
for(j=0;j<t;j++)
{
p=-1;
scanf("%s",string);
for(i=0;string[i]!=’\0’;i++)
++size;

for(i=0;i<size;i++)

{
if(isalpha(string[i]))
{
printf("%c",string[i]);
continue;
}if(string[i]==’(’)
{ p++;
push(string[i]);
continue;
}
if(string[i]==’)’)
{

    pop1();
    continue;
	}
 	oper(string[i]);
	continue;
	}
	if(i>=(size-1) && p>=0)
	{
		for(int l=p-1;l>=0;l--)
		printf("%c",stack[l]);
	}
	printf("\n");

}
return 0;
}
void push(char c)
{
stack[p]=c;
return;
}
void pop()
{
printf("%c",stack[p]);
return;
}
void pop1()
{ //printf("\n%d",p);
while(stack[p]!=’(’)
{

pop();
p--;
}
p--;

return;

}
void oper(char c)
{
char s=c;

int k1,k;
k=posi©;
while(1)
{
k1=posi(stack[p]);

if(k>k1 && p>=0)
{
pop();
p--;

}
else break;
}
p++;

push©;

return;
}
int posi(char c)
{int i;
for(i=0;i<8;i++)
{if(pr[i]==c)
return i;
}
return 0;