//编写一个函数fun,比较两个字符串的长度,(不使用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符长度相同,则返回第一个字符串。
//重难点:通过数组处理和通过指针进行处理的不同。记住对指针进行处理以后,指针的位置已经发生变化,所以要进行指针的备份。注意返回值类型是否匹配,这里函数为指针函数所以返回的时候只返回指针名即可。数组备份的时候必须在初始化的时候进行复制。尽量使用数组。尽可能的简化代码。对文件的输入输出的不同。
1 #include <stdio.h> 2 char *fun ( char *s, char *t) 3 { 4 /* int i; 5 char *q = s, *w = t;//定义指针备份的时候,要在初始化的时候进行赋值。 6 for (i = 0; *q&&*w; i++)//这两个字符有一个到结尾,循环就结束。 7 { 8 q++; 9 w++; 10 } 11 if (*q == 0 && *w == 0) 12 return s; 13 if (*q)//这种情况,*q还没有结束,而*w等于0,已经结束了。说明q要长一点。 14 return s; 15 else 16 return t;*/ 17 /* int i, j;//可以不需要从新申明计数器,使用循环的i和j就可以。 18 for (i = 0; s[i] != ' '; i++);//这里空语句分号不能省略,代表循环什么都不做。 19 for (j = 0; t[j] != ' '; j++); 20 if (i < j)//可以的话,可以省略大括号。 21 return t; 22 else 23 return s;*/ 24 int i=0, j=0; 25 char *q=s, *w=t;//通过指针对数组做处理的时候,注意,对数组操作之后,指针的位置已经不是第一个字符了,所以必须进行备份,然后对新复制的指针,进行操作。 26 //q = s;//这样不可以。 27 //w = t; 28 while(*q!='