经典指数          
原因
1671
浏览数
0
收藏数
 

当参数*x=1, *y=1, *z=1时,下列不可能是函数add的返回值的( )?
int add(int *x, int *y, int *z){
    *x += *x;
    *y += *x;
    *z += *y;
    return *z;
 }

  • 4
  • 5
  • 6
  • 7

     举报   纠错  
 
切换
1 个答案
首先谢谢@编号2015的解答。 这里我给出了验证代码: #include "StdAfx.h" #include //在VS2010下运行通过 int add(int *x, int *y, int *z){     *x += *x;     *y += *x;     *z += *y;     return *z;  } void main() { //划分三块内存区域 int a=1,b=1,c=1; //注意经过一次add()之后,a,b,c的值有可能发生改变,注意要值要归1 printf("指向同一内存区域%d\n",add(&a,&a,&a)); a=1,b=1,c=1; printf("指向不同内存区域%d\n",add(&a,&b,&c)); a=1,b=1,c=1; printf("x.y指向同一内存区域%d\n",add(&a,&a,&b)); a=1,b=1,c=1; printf("x.z指向同一内存区域%d\n",add(&a,&c,&a)); a=1,b=1,c=1; printf("y.z指向同一内存区域%d\n",add(&a,&c,&c)); getchar(); } 结果:
 
切换
撰写答案
扫描后移动端查看本题