#include<stdio.h> #include<stdlib.h> #include<assert.h> char *my_strncpy( char *dst, const char *src, size_t count) { assert(NULL != dst&&NULL != src); char ret = *dst; while (count && (*dst++ = *src++))//这里不设置count-- { //因为为下面的处理做准备 count--; //有肯还有一位的时候它的下面一个 } //变为了0 if (count) { while (--count) { *dst++ = '\0'; } } return ret; } int main() { char s[30] = "hello"; char ct[10] = "welcome"; printf("%d", my_strncpy(s, ct, 4)); system("pause"); return 0;
思考count的写法