c++绝版面试题--9.7.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c绝版面试题--9.7

153、 回答下面的问题 (1).Void GetMemory(char **p, int num){ *p = (char *)malloc(num);//一级指针的值被修改 } void Test(void){ char *str = NULL; GetMemory(str, 100);//传递的是一级指针的地址 strcpy(str, hello); printf(str); } 请问运行Test 函数会有什么样的结果? 答:输出“hello” (2).void Test(void){ char *str = (char *) malloc(100); strcpy(str, “hello”); free(str); if(str != NULL){ strcpy(str, “world”); printf(str);} } 请问运行Test 函数会有什么样的结果? 答:输出“world” (3).char *GetMemory(void){ char p[] = hello world; /*在函数栈 (默认局部栈中,如果有静态的则 放在全局栈中)中数组p在离开作用域 以后内存数据(数组p)有可能被修改,也 有可能不被修改,返回很危险。*/ return p;} void Test(void){ char *str = NULL; str = GetMemory(); printf(str);} 请问运行Test 函数会有什么样的结果? 答:无效的指针,输出不确定 (4).void GetMemory(char *p){ p = (char *)malloc(100);} void Test(void){ char *str = NULL; GetMemory(str); strcpy(str, hello world); printf(str);} 请问运行Test函数会有什么样的结果? 答:void *memset( void *buffer, int ch, size_t count ); 功能: 函数拷贝ch 到buffer 从头开始的count 个字符里, 并返回buffer指针。 memset() 可以应用在将一段内存初始化为某个值。例如:memset( the_array, \0, sizeof(the_array) ); 这是将一个数组的所以分量设置成零的很便捷的方法。void *memcpy( void *to, const void *from, size_t count ); 功能:函数从from中复制count 个字符到to中,并返回to指针。 如果to 和 from 重叠,则函数行为不确定。 125.已知strcpy函数的原型是:char *strcpy(char *strDest,const char *strSrc);不调用库函数,实现strcpy函数: char *strcpy(char *strDest, const char *strSrc) { if(strDest == NULL || strSrc == NULL) return NULL; if(strDest == strSrc) return strDest; char *tempptr = strDest; while( (*strDest++ = *strSrc++) != ‘\0’); return tempptr; } 156、编写strcat函数,已知strcat函数的原型是char *strcat (char *strDest, const char *strSrc);其中strDest 是目的字符串,strSrc 是源字符串。 (1)不调用C++/C 的字符串库函数,请编写函数 strcat,VC源码: char * __cdecl strcat (char * dst, const char * src) { char * cp = dst; while( *cp )cp++; while( *cp++ = *src++ ) ; return( dst ); } 32.已知String类定义如下: class String { public: String(const char *str = NULL); // 通用构造函数 String(const String another); // 拷贝构造函数 ~ String(); // 析构函数 String operater =(const String rhs); // 赋值函数 private: char *m_data; // 用于保存字符串 }; 尝试写出类的成员函数实现: String::String(const char *str)

文档评论(0)

qwd513620855 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档