From 52e3ab594b34bf309b8669fcaa855c295a00e114 Mon Sep 17 00:00:00 2001 From: Nicholas Hall Date: Thu, 14 Sep 2017 16:42:29 -0500 Subject: DC414 meeting presentation files --- src/strcmp.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/strcmp.c (limited to 'src/strcmp.c') diff --git a/src/strcmp.c b/src/strcmp.c new file mode 100644 index 0000000..d626bd3 --- /dev/null +++ b/src/strcmp.c @@ -0,0 +1,27 @@ +#include +/* Compare S1 and S2, returning less than, equal to or + greater than zero if S1 is lexicographically less than, + equal to or greater than S2. */ +int strcmp (const char *p1, const char *p2) +{ + const unsigned char *s1 = (const unsigned char *) p1; + const unsigned char *s2 = (const unsigned char *) p2; + unsigned char c1, c2; + + // print out input values + printf("strcmp('%s', '%s')", p1, p2); + do + { + c1 = (unsigned char) *s1++; + c2 = (unsigned char) *s2++; + if (c1 == '\0') { + // print return value + printf(" = %d\n", c1 - c2); + return c1 - c2; + } + } + while (c1 == c2); + + printf(" = %d\n", c1 - c2); + return c1 - c2; +} -- cgit v1.2.3