编程题(第一小题 20,第二小题 30 分)
1、不使用库函数,编写函数 int strcmp(char*source, char *dest)3 ?# ?5 K& L+ H+ F
相等返回 0,不等返回-1;
; f" ^- W' w6 [
int strcmp(char *p1, char *p2)
{8 p4 u( B5 n$ Y
char *s1 = p1;
char *s2 = p2;
char c1, c2;8 ?5 P5 E; n) p. Q# I# f7 D. h
int flag;* B& H/ W& x; h) h$ \) t6 t
do r1 G$ R+ x5 Q* h3 m
{ 3 l2 f2 `u8 N
c1=(char) *s1++;1 [/ |& l; |/ B6 J
c2=(char) *s2++;
if (c1==' ')
{flag=(int)(c1 - c2); break;}# I6 k! k) J6 t7 C- b: F
} while (c1 == c2);
6 P0 t# G# d, S9 I2 n1 Q* X
if (flag==0) return flag;) a; D- d1 _9 F
else return flag=-1;* Z! qJ$ ]# G( W+ R
}
2、写一函数 int fun(char *p)判断一字符串是否为回文,是返回 1,不是
返回 0,出错返回-1! ^+ f" [; I2 Y8 ~1 |3 _4 a8 w+ u
int fun(char *p)
{
int i=0, len=0, flag=0;& W3 R8 K% w% _& k
while ((*p)!=' ')/ E) U; {. H$ ~; o/ C
{p++; len++;}
if (len==0) return flag=-1;5 D* K" L3 K2 |8 i) [5 q: h# K1 i
p=p-len;
评论2