【面试题】 字符和字符串
2013-12-04 20:30
190 查看
1. 解释下列输出结果
解答:
str1, str2, str3, str4 是数组变量,它们有各自的内存空间,应该使用strcmp比较;
而str5, str6, str7, str8 是指针,它们保存的地址都是"abc"常量的地址。这是和编译器有关的,若编译器支持"常量字符串合并",那么"abc"=="abc",否则,这两个"abc"会放到不同的内存中。
char str1[] = "abc"; char str2[] = "abc"; const char str3[] = "abc"; const char str4[] = "abc"; const char *str5 = "abc"; const char *str6 = "abc"; char *str7 = "abc"; char *str8 = "abc"; cout << ( str1 == str2 ) << endl; cout << ( str3 == str4 ) << endl; cout << ( str5 == str6 ) << endl; cout << ( str7 == str8 ) << endl;结果是:0 0 1 1
解答:
str1, str2, str3, str4 是数组变量,它们有各自的内存空间,应该使用strcmp比较;
而str5, str6, str7, str8 是指针,它们保存的地址都是"abc"常量的地址。这是和编译器有关的,若编译器支持"常量字符串合并",那么"abc"=="abc",否则,这两个"abc"会放到不同的内存中。
相关文章推荐
- [C语言常见面试题]查询一个字符串中第一个只出现一次的字符,要求时间复杂度为O(1)
- 【我解C语言面试题系列】011 删除指定字符串的相应字符
- 常见面试题系列1——原地消除字符串连续的空白字符
- 字符串面试题系列之四:字符串匹配
- 【2013微软校招面试题】求给定的一个字符串最小需要添加多少个字符才能成为回文串
- 百度面试题 求字符串中不含重复字符的最长子串长度
- AS3 面试题35 在一个字符串中找出第一个只出现一次的字符
- 程序员面试题精选100题(36)-在字符串中删除特定的字符
- 小米面试题 从一个字符串中删除在另一个字符串中出现的字符
- 面试题:1.清空字符串前后的空格;2.找出出现最多的字符
- 【字符串】面试题之键值对(”key = valude”)字符串
- 【C语言【面试题】【笔试题】题目:在字符串中找出第一个只出现一次的字符。
- C/C++面试题(4)——统计输入字符串中字符的频度
- 在字符串中删除特定的字符(程序员面试题精选100题)
- 嵌入式笔试面试题(12)---字符串和字符的笔试题
- 【C++面试题】:从第一个字符串中去掉第二个字符串中的所有字符
- (面试题)删除在另一个字符串中出现的字符
- 剑指offer 面试题35 字符串中第一个出现一次的字符
- 程序员面试题精选100题(36)-在字符串中删除特定的字符
- 面试题 找到字符串中第一个只出现一次的字符