语句间的变换

来源:互联网 发布:apache 防止ddos 编辑:程序博客网 时间:2024/04/27 14:47

 

 

01 #include <stdio.h>
02 #include <string.h>
03 #define N 10                                                                  /*宏定义*/
04 int max,min;                                                                    /*全局变量*/
05 void main()                                                                            
06 {                                                                                        
07 void max_min_value(int *array,int n);                        /*函数原型(声明)*/
08 int array[N],*p;                                                                  
09 printf("Enter %d numbers:",N);                                     
10 for(p=array;p<array+N;p++)                                         /*array+N,数组中最末元素之后的一个指针地址*/
11 scanf("%d",p);
12 printf("Source data:");
13 for(p=array;p<array+N;p++)
14 printf("%4d",*p);
15 max_min_value(array,N);                                            /*transfer function "max_min_value"*/
16 printf("/nmaxdata:%d  mindata:%d/n",max,min);
17 }
18
19 void max_min_value(int *array,int n)
20 {
21 int *p,*array_end;
22 max=min=*array;
23 array_end=array+n;                                                       /*数组中最后一个元素之后的一个指针地址*/
24 for(p=array+1;p<array_end;p++)
25 if(*p>max) max=*p;
26 else if(*p<min) min=*p;
27 return 0;                                                                           /*此语句可要可不要*/
28 } 

第15行:可改写为max_min_value(p=array,N)或max_min_value(p=array,10)与max_min_value(p=array,N)等价
第19行:形参可改写为(int array[],int n)或(int array[10],int n)或(int array[N],int n),均与(int *array,int n)等价
第22行:可改写为max=min=*(array+0)或max=min=array[0],均与max=min=*array等价
第23、24行:若将第23行改写为array_end=array+n-1,则第24行应改写为for(p=array+1;p<=array_end;p++)

原创粉丝点击