temp=p1; p1=p2; p2=temp; 你想做地址交换,为什么语法上不行

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/04 13:16:59

temp=p1; p1=p2; p2=temp; 你想做地址交换,为什么语法上不行
temp=p1; p1=p2; p2=temp; 你想做地址交换,为什么语法上不行

temp=p1; p1=p2; p2=temp; 你想做地址交换,为什么语法上不行
VC++ 6.0 编译器能检查出 你的p1,p2 是 int *p1, *p2, 而 temp 是 int temp. 认为类型不同,不能直接赋值.
当然,理论上我们知道 地址值是 unsigned long int, 可以 赋给 int.
于是,我们写“强制转化”就可以通过编译了:
temp = (int) p1;

没问题,它实现了p1 p2数据交换功能

懂的人帮忙看下这段C代码!#include#includevoid compare(char *p1,char *p2,char *p3){ char *temp; if(strcmp(p2,p1)>0) { temp=p2; p2=p1; p1=temp; } if(strcmp(p3,p1)>0) { temp=p3; p3=p1; p1=temp; } if(strcmp(p3,p2)>0) { temp=p2; p2=p3; temp=p1; p1=p2; p2=temp; 你想做地址交换,为什么语法上不行 swap(int *p1,int *p2) {int temp; temp=*p1; *p1=*p2; *p2=temp; } main() { int a,b; int *pointer_1,*pswap(int *p1,int *p2){int temp;temp=*p1;*p1=*p2;*p2=temp;}main(){ int a,b;int *pointer_1,*pointer_2;scanf(%d,%d,&a,&b);pointer_1=&a;pointer_2=&b;if(a while(*p1) p1++; while(*p2) { *p1=*p2; p1++; p2++; } *p1=0; 这个怎么理解啊?void fun(char p1[],char p2[]){while(*p1) p1++;while(*p2){*p1=*p2;p1++;p2++;}*p1=0;} 为什么变压器 P1=P2 k=*p1*(*p2)是什么意思? p2->next=p1是什么意思 P1=¬P2 P1= P2 力P1 等于力p2意义和区别 int*p,*p1,*p2,*p=*p1,*p1=*p2,*p2=*p3哪里有错.另外p=p1,p1=p2,p2=p3呢 p1,p2,p3是质数.p1=5,p2•p3=p1+p2+p3即p2•p3=5+p2+p3,求p1+p2+p3=? #include void fun(char p1[],char p2[]) { while(p1!=NULL) {p1++;} while(p2!=NULL) {p1=p2 p1=p2; \p1 的指针指向 p2,意味着p2值改变,p1值也改变 p1=p2;\我想是p1指向改变了,即p1不再指向原变量的地址,改为指向p2所指向的地址.那为什么p2的值也会变呢?#include void swap(int *p1,int *p2){int *t;t=* 帮忙看一段程序,我不知道每一步的意思#include#include#includeint m=1;void swap(int *p1,int *p2){ int temp; temp=*p1; *p1=*p2; *p2=temp;}void fill(int *p1,int *p2,int len,int n){ if(len==n-1) { output( C++p1->next=p2;和p2=p1->next;是不是都代表p2指向p1的下一个地址? p1/p2=h1/h2,p2等于多少? p2=p1+strlen(p1)-1是什么意思啊? p1+p2+p3+p4=1 0 *p1++=*p2++怎么理解啊?