C语言 字符串与字符串函数

原创 2015年07月07日 10:39:21

22.字符串

①字符串是位于双引号中的字符序列,在内存中以“\0"结束,所占字节比实际多一个

注意:可以把一个字符常量赋值给一个字符变量(char ch = 'a'),但不能把字符串常量赋给字符变量 char ch = 'a'

②用字符数组保存字符串:

    1) char str1[4] = {"abc"};   str[0]用来存'\0';

    2) char str2[4] = "abc";   //注意此处数组长度必须是>=4;

    3) char str3[] = "helloworld!";

③字符串的输出

    用%s输入字符串,从给定的地址开始,一直输出字符,直到遇到\0就停止了。

    printf("/s\n",str);   == printf("/s\n",&str[0];    // 都是取首地址

④字符串的输入

    %s接收键盘上输入的一个字符串,保存在以str为首地址的字符数组

    scanf("%s",str);

注意:1)如果输入的字符串有空格,则空格之后的字符无法接收保存。以%s的格式输入,scanf遇到空格,就结束了。

         2)输入的字符要小于数组的长度;

         3)要合理使用字符串结束符"\0";

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


23.字符串函数

    puts和gets 必须包含头文件 stdio.h

    strcat 需要包含string.h

①puts    输出字符串

    1)puts函数可以自动换行;

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

    3)必须是字符数组;

    4)不可以格式化输出

②gets    输入字符串

    1)使用gets会给出一个警告;

    2)可以接收空格;

    3)不安全:数组长度是100,但是你输入了120个也可以,但是越界;

③strcat    连接字符串

    1)格式:strcat(a,b);  // 把字符串b连接在字符串a之后

    2)oldStr的长度要足够大,只要能够保存下oldStr+newStr;

    3)newStr把oldStr的最后一个字符\0给覆盖了;

④strcpy    拷贝字符串

    1)strcpy(old,new); 把new覆盖old里;

    2)oldStr长度要足够长;

⑤strcmp    字符串的比较函数

    1)strcmp(str1,str2);  abc     def(大)   规则:比较字符的ascii码值,比较在字典中出现的顺序

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

    3)strcmp(str1,str2);   函数有返回值  >0  :str1>str2     <0 :str1<str2   =0 :str1 = str2

⑤strlen    计算字符串长度,不包含\0



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

c语言 字符串函数

c语言中的字符串函数 主要是两大类,一类是拷贝的,一类是比较的,另一个就是其他的 拷贝的有: 1. strcpy 函数原型 char *strcpy( char *strDestinatio...

C语言中常见的字符串处理函数

C语言中常见的字符串处理函数C语言中提供了大量丰富的字符串处理函数,大致可以分为字符串的输入,输出,合并,修改,比较,转换,复制,搜索几类。 用于输入输出的函数包含在stdio.h中而其他的字符串处...

C语言字符串操作函数

c语言字符串函数大全

  • 2012-08-03 14:41
  • 18KB
  • 下载

C语言字符串操作函数

C语言字符串操作函数 感觉挺实用的,在此转载引用下供以后学习用,在此感谢JCSU提供本文 http://blog.csdn.net/yanglituan5/article/details/...

c语言字符串函数大全

  • 2012-04-15 22:33
  • 14KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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