标题 | C字符串笔试题 |
范文 | C字符串笔试题 C语言是世界上最流行、使用最广泛的高级程序设计语言之一。A下面就由第一范文网小编为大家介绍一下C字符串笔试题的文章,欢迎阅读。 C字符串笔试题篇1 一、void * memcpy( void* dest, const void* src, size_t count ) 表头文件: #include 定义函数: void *memcpy(void *dest, const void *src, size_t n) 函数说明: memcpy用来拷贝src所指的内存内容前n个字节到dest所指的内存地址上。与strcpy不同的是,memcpy会完整的复制n个字节,不会因为遇到字符串结束'\0'而结束。 返回值: 返回指向dest的指针 附加说明: 指针src和dest所指的内存区域不可重叠 void * memcpy( void* dest, const void* src, size_t count ) { assert((strDest!=NULL) && (strSrc !=NULL)); char* d = (char*)dest; const char* s = (const char*)src; while( count-->0 ) *d++ = *s++ return dest ; } 注解: 1、size_t 就是unsigned int 2、 函数名: assert(断言) 功 能: 测试一个条件并可能使程序终止 用 法: void assert(int expression); assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义: #include void assert( int expression ); assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。 二、char *strcpy(char *strDest, const char *strSrc) 字符串复制函数 char *strcpy(char *strDest, const char *strSrc); { assert((strDest!=NULL) && (strSrc !=NULL)); // 2分 char *address = strDest; // 2分 while( (*strDest++ = * strSrc++) != ‘\0’ ); // 2分 return address ; // 2分 } const char *strSrc中的const是指字符串内容为const,而不是说strSrc是const的,如果要指定strSrc是const,应该写成 char * const strSrc 。 C字符串笔试题篇2 一、int Strcmp(char *str1, char *str2) 字符串比较函数 int Strcmp(char *str1, char *str2) { int i=0; int b=0; while(str1[i]||str2[i]) { if(str1[i]>str2[i]) { b=1;break; } else if(str1[i] { b=-1;break; } i++; } return b; } 当只要求判断是否相等时,可简化为: int strcmp(char *source, char *dest) { while ( (*source != '\0') && (*source == *dest)) { source++; dest++; } return ( (*source) - (*dest) ) ? -1 : 0; } 二、int strlen(const char* str) 计算字符串长度 int strlen(const char* str) { assert(str != NULL); int len = 0; while (*str++!='\0') len++; return len; } C字符串笔试题篇3 void reverse(char *ch) 字符串反转函数 void reverse_str(char *ch) { int len; int i; len = strlen(ch)-1; char ctemp; for(i = 0; i < len-i; i++) { ctemp = ch[i]; ch[i] = ch[len-i]; ch[len-i] = ctemp; } ch[len+1] = 0; } void reverse_str2(char *ch) { int len; int i; len = strlen(ch)-1; for(i = 0; i < len-i; i++) { ch[i] = ch[i] ^ ch[len-i]; ch[len-i] = ch[len-i] ^ ch[i]; ch[i] = ch[i] ^ ch[len-i]; } ch[len+1] = 0; } |
随便看 |
|
范文大全网提供教案、简历、作文、工作总结等各类优秀范文及写作素材,是综合性免费范文平台。