网上整理的一些C++的笔试题(包括自己遇到的)
来源:互联网 发布:淘宝买隐形眼镜靠谱吗 编辑:程序博客网 时间:2024/06/02 05:41
问题:运行下图中C代码,输出的结果是什么?
int main(int argc, char* argv[]){ char str1[] = "hello world"; char str2[] = "hello world"; char* str3 = "hello world"; char* str4 = "hello world"; if(str1 == str2) printf("str1 and str2 are same.\n"); else printf("str1 and str2 are not same.\n"); if(str3 == str4) printf("str3 and str4 are same.\n"); else printf("str3 and str4 are not same.\n"); return 0;}答案:输出两行。第一行是str1 and str2 are not same,第二行是str3 and str4 are same。
str1和str2是两个字符串数组。我们会为它们分配两个长度为12个字节的空间,并把"hello world"的内容分别拷贝到数组中去。这是两个初始地址不同的数组,因此比较str1和str2的值,会不相同。str3和str4是两个指针,我们无需为它们分配内存以存储字符串的内容,而只需要把它们指向"hello world“在内存中的地址就可以了。由于"hello world”是常量字符串,它在内存中只有一个拷贝,因此str3和str4指向的是同一个地址。因此比较str3和str4的值,会是相同的。
并且:
C语言中,凡是以""括住的形式直接出现,而且你又没有为其分配内存空间的字符串都是常量字符串,是不能修改其值的。
0 0
- 网上整理的一些C++的笔试题(包括自己遇到的)
- 自己遇到的笔试题目整理
- 遇到的一些笔试题
- 整理的一些笔试题
- 自己写的网上的一些试题C的实现
- struts2总结(自己做项目时遇到的问题加上一些网上的资料)
- MyEclipse6.5优化的一些方法(网上搜集加自己整理)
- 面试中遇到的一些笔试题
- 面试笔试遇到的一些题
- 网上转载和自己整理的文档。
- C的一些笔试题
- 四月份遇到的一些笔试题(回忆版一)
- 从网上整理的一些电信词汇
- 网上的一些java面试题整理
- 自己可能用到的笔试面试题(整理C/C++)
- 整理一些笔试题(要求手写代码的)
- svm的一些理解(网上收集整理)
- 一些前台基础(自己遇到的)
- 经典C/C++面试题
- 处理大并发之 使用libevent利器bufferevent
- BZOJ 1293 生日礼物
- Android 纯代码添加点击效果
- Java equals和toString用法
- 网上整理的一些C++的笔试题(包括自己遇到的)
- Linq学习资料(一)
- Activity生命周期
- Android模拟器快捷键
- 在X86上用gdb设置带函数入参判断的条件断点
- 最全输入函数 c/c++
- c#+jquery-autocomplete实现类似百度,Google模糊查询
- hoj 2651 Pie(二分)hoj 2278 (二分)
- POJ1436 Horizontally Visible Segments