正在加载图片...
Problem 4b) /*File:anotherptrtrace.c*/ #include <iostream> using namespace std static void Mystery(int array[],int *ip,int k); static int *Enigma(int *p1,int *p2); static void Confusion(int **ap,int *list,int n): static void ResetArray(int array[],int n); static void Checkpoint(int checkNumber,int array[],int n); main( int array [8],*ip; ResetArray(array,8); Checkpoint(0,array,8); ip=&array[4]; Mystery(ip,ip,*ip); Checkpoint(1,array,8); ResetArray(array,8); ip Enigma(array +8,array); Checkpoint(2,ip,4); ResetArray(array,8); Confusion(&ip,array,4); Checkpoint(3,array,8); Checkpoint(4,ip,4); } static void Mystery(int array],int *ip,int k) while (k-->0) *ip--=array[k-1]; static int *Enigma(int *p1,int*p2) while (p1-p2 >2) *-p1=*p2++: return(p2); } static void Confusion(int **ap,int *list,int n) int i,*ip; "ap ip new int[n] for (i=0;i<n;i++) list++: *ip++=list[i]++;Problem 4b) /* File: anotherptrtrace.c */ #include <iostream> using namespace std; static void Mystery(int array[], int *ip, int k); static int *Enigma(int *p1, int *p2); static void Confusion(int **ap, int *list, int n); static void ResetArray(int array[], int n); static void Checkpoint(int checkNumber, int array[], int n); main() { int array[8], *ip; ResetArray(array, 8); Checkpoint(0, array, 8); ip = &array[4]; Mystery(ip, ip, *ip); Checkpoint(1, array, 8); ResetArray(array, 8); ip = Enigma(array + 8, array); Checkpoint(2, ip, 4); ResetArray(array, 8); Confusion(&ip, array, 4); Checkpoint(3, array, 8); Checkpoint(4, ip, 4); } static void Mystery(int array[], int *ip, int k) { while (k-- > 0) *ip-- = array[k-1]; } static int *Enigma(int *p1, int *p2) { while (p1 - p2 > 2) *--p1 = *p2++; return (p2); } static void Confusion(int **ap, int *list, int n) { int i, *ip; *ap = ip = new int[n] ; for (i = 0; i < n; i++) { list++; *ip++ = list[i]++; } }
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有