A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© dushoupeng 中级黑马   /  2015-7-9 09:35  /  454 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文


  • 字符串的输出和输入:
    用%s输出一个字符串
    Printf(”%s”,str);
    Prntf(“%s”,&str[0]);
    输入字符串:
    Scanf(“%s”,str);
    注意:(1)如果以%s格式进行输入的话,注意空格问题。如果输入的字符串有空格,则空格之后的字符无法被接受保存。以%s输入,Scanf遇到空格,就结束了
         (2)输入的字符串的长度要小于数组的长度(否则越界,容易出问题)


2.字符串的结束符(“\0”

   不使用或者不当使用结束符造成的问题:

  • 字符数组初始化时没有使用”\0”,会一直输出知道遇到\0
  • 如果字符串中间出现\0,则不会打印\0后面的字符


3.字符串的长度:

  • 使用字符串函数:strlen(str)
  • 以\0作为条件,进行判断,遇到\0就结束。\0之前就是字符串的长度


4.字符数组和普通数组的区别:没有本质区别

  注意:数组类型指的是数组所包含的元素的类型,而不是数组名的类型,数组名永远是一个指针,指向第一个元素的地址,即数组首地址

  • 字符数组的每个元素都是char类型,整型数组的每个元素都是int类型。
  • Scanf()和printf()函数有一种格式化字符串%s可以用来整体输入输出字符数组,但是没有特定的格式支持int 类型整体数组输出
  • 字符数组,初始化char str[]=“abc”
    整型数组,初始化不能去掉大括号


5.字符串处理函数:

  1)字符串输出函数:puts()

        格式:puts(字符数组名)

        注意:(1puts函数可以自动换行

2)也可是不是数组的首地址,可以是元素的地址

       3)必须是字符数组

          4)不可以格式化输出。Puts(“%s”str);错误

  2)输入:gets()

          格式:gets(数组名);

           注意:(1)使用gets可以接受空格。

                   2)不安全,长度100,输入120也可以输出,存在越界问题

  3)连接一个字符串(需包含string.h):strcat()

               格式:strcatAB 把字符串B连接到A的后面

            注意:(1A的长度要足够大,要能够保存A+B

2BA的最后一个字符\0覆盖了

4)字符串拷贝函数strcpy

            格式:strcpyAB)、

             注意:(1)把B拷贝到AB覆盖A

5) 字符串的比较函数:strcmp

             格式:strcmpAB);


规则:比较字符的ascii码值,比较在字典中出现的顺治

比较过程:逐个取两个字符串的字符,对应位相比较,从第一位不相同的位开始,就能确定字符串大小。

函数返回值:>0,A>B;<0,A<B;==0 ,A==B

6)字符串的长度计算函数:strlen

格式:strlenA);

  注意:结果不包含\0

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马