真的不知道哪错了~瞧哪位大神给指点下哈~

真的不知道哪错了~~望哪位大神给指点下哈~~

#include <stdio.h>
#include<stdlib.h>

 int main()
 { 
int t,i,g,f;
double p;
char k;
scanf("%d",&t);
for(i=0;i<t;i++)
{scanf("%c%d%d",&k,&g,&f);
if(k=='+')printf("%d\n",g+f);
    if(k=='-')printf("%d\n",g-f);
if(k=='*')printf("%d\n",g*f);
    if(k=='/'){
p=double(g)/double(f);
printf("%.2f\n",p);}
}

return 0;
 } 

------解决方案--------------------

p=double(g)/double(f);//这句有问题。
//可以改成 p=(double)g/(double)f 或是 p=(double)g/f;

#include <stdio.h>
#include<stdlib.h>

 int main()
 { 
    int t,i,g,f;
    double p;
    char k;
    scanf("%d",&t);
    getchar(); //在这清空一下缓存,去掉回车。
    for(i=0;i<t;i++)
    {
       scanf("%c%d%d",&k,&g,&f);
       if(k=='+')printf("%d\n",g+f);
       if(k=='-')printf("%d\n",g-f);
       if(k=='*')printf("%d\n",g*f);
       if(k=='/'){
          p=(double)g/(double)f;
          printf("%.2f\n",p);}
    }

    return 0;
 }