关于c语言指针问题
#include<stdio.h>voidswap(int*p1,int*p2){intt;t=*p1;*p1=*p2;*p2=t;}voidmain(){inta,b,...
#include<stdio.h>
void swap(int * p1,int * p2)
{ int t;
t=*p1;*p1=*p2;*p2=t;
}
void main()
{ int a,b,*p1,*p2;
scanf("%d,%d",&a,&b);
p1=&a; p2=&b;
swap(p1,p2);
printf("a=%d,b=%d\n",a,b);
printf("*p1=%d,*p2=%d",*p1,*p2);
}
将swap中的中的换成以下
void swap(int * p1,int * p2)
{ int * t;
t=p1;p1=p2;p2=t;
}
值就不能交换了,请问是为什么呢
指针t不是指向p1 p1指向p2 p2指向了t所指的吗
应该可以交换的吧 展开
void swap(int * p1,int * p2)
{ int t;
t=*p1;*p1=*p2;*p2=t;
}
void main()
{ int a,b,*p1,*p2;
scanf("%d,%d",&a,&b);
p1=&a; p2=&b;
swap(p1,p2);
printf("a=%d,b=%d\n",a,b);
printf("*p1=%d,*p2=%d",*p1,*p2);
}
将swap中的中的换成以下
void swap(int * p1,int * p2)
{ int * t;
t=p1;p1=p2;p2=t;
}
值就不能交换了,请问是为什么呢
指针t不是指向p1 p1指向p2 p2指向了t所指的吗
应该可以交换的吧 展开
展开全部
对呀,有什么问题?C项的结果是2,不为3呀。表达式*p1++和表达式*(p1++)是同一个意思,因为后++的优先级比*高。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int
*
p;中p是变量名
*指出,它是一个指针变量
int
*表示一个类型,即:说明p是”整型指针类型“变量。
这和别的变量定义没有区别啊!如:
int
a;
a是变量名,int是类型。比照着看,有什么难理解的。
*
p;中p是变量名
*指出,它是一个指针变量
int
*表示一个类型,即:说明p是”整型指针类型“变量。
这和别的变量定义没有区别啊!如:
int
a;
a是变量名,int是类型。比照着看,有什么难理解的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询