指针的返回结果

来源:互联网 发布:codeblocks运行c语言 编辑:程序博客网 时间:2024/05/17 01:19
#include <stdio.h>
#include <malloc.h>
#include <string.h>
#include <ctype.h>
void fun(int *a, int *b) 
{ int *k; 
k=a; a=b; b=k; 
}  
void main()
{ int a=3, b=6, *x=&a, *y=&b; 
fun(x,y); 
printf("%d %d", a, b); 

}

结果为3  6

#include <stdio.h>
#include <malloc.h>
#include <string.h>
#include <ctype.h>
void fun(int *a, int *b) 
{ int *k; 
k=a;a =b; b=k; 
printf("%x\n",a); 


printf("%x\n",  b); 
printf("%d\n",*a); 


printf("%d\n", * b); 


}  
void main()                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
{ int a=3, b=6, *x=&a, *y=&b; 
fun(x,y); 
printf("%d %d\n", a, b); 
printf("%x\n",&a); 
printf("%x\n",& b);

也许这个就比较好理解,他本身的内容没有改变 。

以下这些是会改变的

例一

#include <stdio.h>
#include <malloc.h>
#include <string.h>
#include <ctype.h>
void fun(int *a, int *b) 
{
int k; 
k=*a;
*a=*b;
*b=k;



}  
void main()
{

int  a=3,b=6;
fun(&a,&b);
printf("%d %d\n", a, b); 
}

这里交换的是内容

   


                                                

0 0
原创粉丝点击