diff options
| author | Sadeep Madurange <smadurange@users.noreply.github.com> | 2021-12-31 17:02:08 +0800 |
|---|---|---|
| committer | Sadeep Madurange <smadurange@users.noreply.github.com> | 2021-12-31 17:02:08 +0800 |
| commit | 9958adda004272a4b3a351cc26b5b72db77a48c3 (patch) | |
| tree | b108971bacd9fc5513fa65a363a0b9266cd4773d /5/5.c | |
| parent | e1ed3268351e6b4bd2310b22e984eb6a852fa2d6 (diff) | |
| download | k&r-exercises-9958adda004272a4b3a351cc26b5b72db77a48c3.tar.gz | |
5.5
Diffstat (limited to '5/5.c')
| -rw-r--r-- | 5/5.c | 18 |
1 files changed, 16 insertions, 2 deletions
@@ -7,7 +7,7 @@ void mstrncpy(char *s, char *t, int n); void mstrncat(char *s, char *t, int n); -void mstrncmp(char *s, char *t, int n); +int mstrncmp(char *s, char *t, int n); int main(int argc, char *argv[]) { int n; @@ -22,9 +22,14 @@ int main(int argc, char *argv[]) { n = 7; t = "may the force be with you"; + mstrncat(s, t, n); printf("mstrncat: %s\n", s); + n = 5; + t = "hello"; + + printf("mstrcmp: %d\n", mstrncmp(s, t, n)); free(s); return 0; @@ -38,4 +43,13 @@ void mstrncpy(char *s, char *t, int n) { void mstrncat(char *s, char *t, int n) { for (s += strlen(s); n > 0 && (*s++ = *t++) != 0; n--) ; -}
\ No newline at end of file +} + +int mstrncmp(char *s, char *t, int n) { + for (; n > 0 && *t != 0; s++, t++, n--) { + if (*s != *t) + return *s - *t; + } + + return 0; +} |
