【面试题】 字符和字符串

原创 2013年12月04日 20:30:54
1. 解释下列输出结果
    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"会放到不同的内存中。


char*&nbsp;str和char&nbsp;str[]的区别

char str[]="abcdef",这个数组的存储空间是在栈中开辟的,也就是说它的每个元素一次为'a','b','c','\0',将这几个值复制到str的位置中。       对于char *s...

十大排序算法面试题

 选择排序 选择排序的基本思想是对待排序的记录序列进行n-1遍的处理,第i遍处理是将L[i..n]中最小者与L[i]交换位置。这样,经过i遍处理之后,前i个记录的位置已经是正确的了。 ...

面试题之字符串

字符串面试题

剑指Offer算法题之字符串替换字符--面试题4:替换空格

替换空格题目:请实现一个函数,把字符串中的每个空格替换成“%20”。例如输入“We are happy.”,则输出“We%20are%20happy.”。题目背景:在网络编程中,如果URL参数中含有特...

面试题-在字符串中删除特定的字符[算法]

题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”。 ...

Java算法面试题(004) 实现一个算法来确定一个字符串是否具有所有唯一的字符

本文详细介绍了如何实现一个算法来确定一个字符串是否具有所有唯一的字符。...

算法与数据结构面试题(21)-在一个字符串中找到第一个只出现一次的字符

题目 在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。 解题思路 上一道题是求字符串中各个字符的个数,其实大同小异,这道题比上道题还要简单点,只...

程序员面试题精选100题(36)-在字符串中删除特定的字符[算法]

题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are students.”和”aeiou”,则删除之后的第一个字符串变成”Thy r stdnts.”。 分...

程序员面试题精选100题(36)-在字符串中删除特定的字符[算法]

作者:何海涛 出处:http://zhedahht.blog.163.com/ 题目:输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。例如,输入”They are stud...
  • JDPlus
  • JDPlus
  • 2014年03月02日 16:11
  • 1225

C/C++面试题(4)——统计输入字符串中字符的频度

这是一道很普通的题目,这里给出的代码的一个关键点就是使用字符的ASCII码作为数组的下标直接对该字符。 #define _CRT_SECURE_NO_WARNINGS #include #i...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【面试题】 字符和字符串
举报原因:
原因补充:

(最多只允许输入30个字)