请编写函数fun(),其功能是编写函数char*fun(char*s0,char*s1,char*s2,char*s3),要求实现: 将s0所指字符串分解成3个字符串,分别存入s1、s2、s3所指内存中。分解的方法是,s1、s2、s3从s0中依次顺

admin2023-02-27  7

问题 请编写函数fun(),其功能是编写函数char*fun(char*s0,char*s1,char*s2,char*s3),要求实现:
    将s0所指字符串分解成3个字符串,分别存入s1、s2、s3所指内存中。分解的方法是,s1、s2、s3从s0中依次顺序每隔2个字符取1个。
    例如,80为"abcdefghij"时,分解完成后,s1、s2、s3分别为"adgj""beh""cfi"。
    注意:部分源程序在文件progl.c中。
    请勿改动主函数main()和其他函数中的任何内容,仅在函数fun()的花括号中填入你编写的若干语句。
1 #include
2 #include
3 void fun(char * s0,char*s1,char*s2,char*s3)
4 {
5 }
6 void main()
7 {
8    void NONO();
9    char s0[100],s1[40],s2[40],s3[40];
10    printf{"请输入一行字符串\n");
11    gets(s0);
12    fun(s0,s1,s2,s3);
13    puts(s1);
14    puts(s2);
15    puts(s3);
16    NONO();
17 }
18 void NONO()
19 {
20    FILE*fp=fopen("out.dat","w");
21  chars0[10][100]={"12345678
22  90qa-zwsx","abcdefghij","098765
4321plmokn","fsdjfsdlrj564342dsf","gfdklgjd-sf14754398","zxcvbnmasdfg","asdfghjki123","qwertyuiop456","qweasdzxc789","poiuytrewqwsxqaz"};
23  char s1[40],s2[40],s3[40];
24  int i;
25  for(i=0;i<10;i++)
26  {
27    fun(s0,s1,s2,s3),
28    fprintf(fp,"s1=%s,s2
29=%s,s3=%s\n",s1,s2,s3);    }
30    fclose(fp);
31 }

选项

答案 1 void fun(char*s0,char*s1,char*s2,chal*s3) 2 {cbar*p1=s0,*p2=s0+1,*p3=s0+2; 3 int len=strlen(s0),i=0,j=0,k=0; 4 while(p1
解析 分别定义字符指针p1,p2,p3。p1指向字符串s0第1个字符,p2指向字符串s0第2个字符,p3指向字符串s0第3个字符。在while循环内,循环条件为指针p1,p2,p3指向字符串末尾,循环结束。循环内分别将指针p1,p2,p3指向的字符存放到对应的数组中,再将指针移动3个位置。最后将数组s1,s2,s3的最后一个字符赋值字符串结束标志。
转载请注明原文地址:https://kaotiyun.com/show/hJ0D777K
0

相关试题推荐
最新回复(0)