C++经典面试题
变量,即指针指向为常量;
如果const位于星号的右侧,const就是修饰指针本身,即指针本身是常量。 (1)const char *p
(2)char const *p (3)char * const p 这两个好象是一样的,此时*p可以修改,而p不能修改。 (4)const char * const p 这种是地址及指向对象都不能修改。 -------------------------------------------------------------------------- 6.下面是C语言中两种if语句判断方式。请问哪种写法更好?为什么? int n; if (n == 10) // 第一种判断方式 if (10 == n) // 第二种判断方式 如果少了个=号,编译时就会报错,减少了出错的可能行,可以检测出是否少了= -------------------------------------------------------------------------- 7.下面的代码有什么问题?
A: p = malloc(1024); 应该写成: p = (char *) malloc(1024); 没有释放p的空间,造成内存泄漏。 -------------------------------------------------------------------------- 8.下面的代码有什么问题?并请给出正确的写法。
A: sscanf(p, "%s%d", str, n); 这句该写成: sscanf(p, "%s%d", str, &n); -------------------------------------------------------------------------- 9.下面代码有什么错误?
数组越界 -------------------------------------------------------------------------- 10.下面代码有什么问题?
数组越界 -------------------------------------------------------------------------- 11.下面代码有什么问题?
==数组越界 ==strcpy拷贝的结束标志是查找字符串中的 因此如果字符串中没有遇到的话 会一直复制,直到遇到,上面的123都因此产生越界的情况 建议使用 strncpy 和 memcpy -------------------------------------------------------------------------- 12.下面代码有什么问题?
系统会初始化static int变量为0,但该值会一直保存,所谓的不可重入... -------------------------------------------------------------------------- 13.写出运行结果:
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |