Catherine_bling
Catherine_bling
2021-01-19 15:34

为什么在函数调用输出时printf里面a*和a都可以得到正确答案,这里输出a不是地址吗

  • c语言
void cmp(int* a,int* b,int* c){
    if(*a>*b){
        if(*b>*c)
            printf("%d %d %d\n",*a,*b,*c);//疑问的地方在这个语句中
        else{
            if(*a>*c){
               printf("%d %d %d\n",*a,*c,*b);
            }
            else{
                printf("%d %d %d\n",*c,*a,*b);
            }
        }
    }
    else{
        if(*a>*c)
            printf("%d %d %d\n",*b,*a,*c);
        else{
            if(*b>*c){
                printf("%d %d %d\n",*b,*c,*a);
            }
            else{
                printf("%d %d %d\n",*c,*b,*a);
            }
        }
    }
}
int main(){
    int a,b,c;
    scanf("%d%d%d",&a,&b,&c);
    int* p1=&a;
    int* p2=&b;
    int* p3=&c;
    cmp(p1,p2,p3);
    return 0;
}
  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

4条回答