编写程序,对具有19个元素的字符数组,从下标为8的元素开始,全部设置为“*”,保持前8个元素不变。
#include <stdio.h>
#include <string.h>
void setstr(char *,int);
void arrout(char *,int);
int main(){ //与char ch[20]= "SHAOGUAN UNIVERSITY";等价
char ch[20]= {‘S’,‘H’,‘A’,‘O’,‘G’,‘U’,‘A’,
‘N’,‘ ’,‘U’,‘N’,‘I’,‘V’,‘E’,
‘R’,‘S’,‘I’,‘A’,‘Y’ };
//也可表示为char ch[]= "SHAOGUAN UNIVERSITY";
char *p=ch;
setstr(&p[8], strlen(ch)-8); //p与ch可相互代替
arrout(p,strlen(p)); //指针作为函数的实参
return 0;
}
void setstr(char *a,int x) //定义指针变量作为函数的形参
{ int i ;
for(i=0;i<x;i++) *(a+i)='*';
}
void arrout(char *a,int y) //定义指针变量作为函数的形参
{ int i ;
for (i=0;i<y;i++)
printf("%c",a[i]);
printf("\nLength of ch:%d\n",y);
}