01指向数组的指针作函数的参数
定义函数pMax(),秋以为数组元素的最大值
- 设计pMax()函数
- 原型:int pv_max(int *p,int n)
- 功能:在长度为n、由p指向的一维数组中求元素最大值
- 用main()函数作为主控函数
#include<stdio.h>
#define N 10
int main(){
int pMax(int *,int);
int a[N],i;
for(i=0;i<N;i++)
scanf("%d",&a[i]);
printf("Max=%d\n",pMax(a,N));
}
int pMax(int *p,int n){
int i,max=*p;
for(i=1;i<n;i++)
if(*(p+i)>max)
max=*(p+i);
return max;
}
字符串指针作函数参数
字符串指针做函数的参数,与前面介绍的数组指针做函数参数没有本质的区别,函数传递的都是地址值,所不同的近视指针指向对象的类型不同而已。
将统计数字字符的过程改由用户函数实现,要求字符串指针做函数参数。
02指针数组做函数的参数
- 指针数组的元素使指针变量,用指针数组能够实现一组字符串的处理。
-
指针数组做函数参数时,就涉及通用的多字符串操作函数
编写能对多个字符穿排序的函数,并调用该函数将一组字符串按字典顺序排序。
#include<stdio.h>
#include<string.h>
int main(){
void stringSort(char *[],int);
void stringOut(char *[],int);
char *days[7]={"sundays","Mondays","Tuesday","Wednesday","Thursday","Friday","Saturday"};
stringSort(days,7);
stringOut(days,7);
}
void stringOut(char *string[],int n){
int i;
for(i=0;i<n;i++)
printf("%s",string[i]);
}
void stringSort(char *string[],int n){
char *temp;
int i,j;
for(i=1;i<n;i++){
for(j=0;j<n;j++)
if(strcmp(string[j],string[j+1]>0){
temp=string[j];
string[j]=string[j+1];
string[j+1]=temp;
}
}
}