注: 如下的题目皆来自互联网,答案是结合了自己的习惯稍作了修改。
1. 求一个数的二进制中的1的个数。
int func(int x) { int count = 0; while (x) { count++; x = x& (x - 1); } return count; }
2. 已知strcpy的函数原型:char *strcpy(char *strDest, const char *strSrc)其中strDest 是目的字符串,strSrc 是源字符串。不调用C++/C 的字符串库函数,请编写函数 strcpy。
int _tmain(int argc, _TCHAR* argv[]) { const char *srcStr = "This is a source string."; //char *desStr = (char *)malloc(sizeof(srcStr)); // Or below: char *desStr = (char *)malloc(sizeof(char)* strlen(srcStr) + 1); myStrcpy(desStr, srcStr); printf("Copy result: %s", desStr); } char *myStrcpy(char *strDest, const char *strSrc) { if (strSrc == NULL || strDest == NULL) { return NULL; } if (strDest == strSrc) { return strDest; } char *strDestStart = strDest; while (*strDest !='