问答题
请编写函数fun,其功能县将形参s所指字符串放入形参a所指的字符数组中,使a中存放同样的字符串。说明:不得使用系统提供的字符串函数。注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun指定的部位填入所编写的若干语句。试题程序:#include<stdio.h>#defitie N 20void NONO();void fun(char*a,char*s){}main(){char s1[N],*s2="abcdefghijk“; fun(s1,s2); printf("%S、n",s1); printf("%S\n",s2); NONO(),}void NONO(){/*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*/ FILE*fp,*wf; int i ; char s1[256],s2[256]; fp=fopen("in.dat","r"), wf=fopen("out.dat","W"); for(i=0;i<10;i++){ fgets(s2,255,fp); fun(s1,s2); fprintf(wf,"%s",s1); } fclose(fp); fclose(wf);}
【正确答案】正确答案:void fun(char*a,char*s) {while(*s!='\0') {*a=*s; a++; s++; } *a='\0'; }
【答案解析】解析:要将s所指的字符串存入a所指的字符串中,程序要求不能使用系统提供的字符串函数,本题可以使用循环语句,依次取出a所指字符串中的元素,将其存入s所指的字符串中,最后为s所指的字符串添加结束标识'\0'。