include "conio.h"void main(void){ int a[10],b[10];int i=0;int temp = 0;int *pa,*pb;for(i=0;i<10;i++){ a[i] = i;b[i] = i+10;} pa = a;pb = b;for(i=0;i<10;i++){ temp = *pa;pa = *pb;pb = temp;pa++;pb++;} for(i=0;i<10;i++){ p...
说明:^=只是利用异或来实现2个地址的数值交换,和你定义一个变量做交换是一个效果。include <stdio.h>#include <stdlib.h>void change(int *p1,int *p2,int len){ while(len--) *p1^=*p2,*p2^=*p1,*p1^=*p2,p1++,p2++;}int main(){ int i; int a[5]={1,2,3,...
,也就是说a[0]是指针没错,但a[0]=a[1]这样是错误的。因为无法对a[0]重新赋值。所以你说的这种没有办法实现,这是C/C++的规则限定的。除非你用指针p,q来代替a[0]、a[1]。
include <stdio.h>#include <string.h>int main(){ char test[] = "QQ:2-3-6-4-6-2-2-4-2-3"; char *p = test, *q = test + strlen(test) - 1; printf("翻转前:%s\n", test); while(p < q) { char c = *p; *p++ = *q; *q-- = c; ...
求帮忙:用指针实现:..#include <stdio.h>void main(){ int a[5],*p=a,i,t,q; for(i=0;i<5;i++) scanf("%d",p++); p=a