#include <stdio.h> #include <stdlib.h> #include <assert.h> int my_strncmp(const char *dest, const char *src, int len) { assert(dest); assert(src); while (len && (*dest == *src)) { dest++; src++; len--; } if (*dest == ‘\0‘) { return 0; } else if (len == 0) { dest--; src--; return *dest - *src; } else { return *dest - *src; } } int main() { char arr1[] = "abcdef"; char arr2[] = "abcde"; int ret = my_strncmp(arr1, arr2, 6); printf("%d", ret); system("pause"); return 0; }
原文:http://10740329.blog.51cto.com/10730329/1715688