m0_54392386
m0_54392386
2021-01-25 19:57

(考研题)根据给出的有关二级指针程序,求运行结果,并给出理由

  • c++
  • c语言

1.

#include<stdio.h>

void func(int **x,int **y)
{
  int **tmp=y;
  *x=*tmp;
  **x=3;
     
}
int main()
{
    int a=1,b=2;
    int *ap=&a,*bp=&b;
    func(&ap,&bp);
    printf("a=%d,b=%d\n",a,b);
    
    return 0;
  
}

2.

#include<stdio.h>

void func(int **x,int **y)
{
  int *tmp=*x;
  
  **y=*tmp;
  *tmp=100;
     
}
int main()
{
    int a=1,b=10;
    int *ap=&a,*bp=&b;
    func(&ap,&bp);
    printf("a=%d,b=%d\n",a,b);
    
    return 0;
  
}

3.

#include<stdio.h>

void func(int **x,int **y)
{
  int tmp1=**x;
  int *tmp2=*y;
  **x=tmp1+*tmp2;
  tmp2=*x;
  **y=tmp1-*tmp2;
     
}
int main()
{
    int a=0,b=1;
    int *ap=&a,*bp=&b;
    func(&ap,&bp);
    printf("a=%d,b=%d\n",a,b);
    return 0;
  
}

4.

#include<stdio.h>

void func(int *x,int **y)
{
  int tmp=*x;
  *y=&tmp;
  **y=1000;
  *x=tmp;     
}
int main()
{
    int a=1,b=10;
    int *ap=&a,*bp=&b;
    func(ap,&bp);
    printf("a=%d,b=%d\n",a,b);
    
    return 0;
  
}

  • 点赞
  • 回答
  • 收藏
  • 复制链接分享

1条回答

为你推荐

换一换