C语言基础语法11

字符串字面量

字符串字面量是一对双引号括起来的字符序列,最早我们在printf中就见到了。有时字符串字面量的长度比较长,可以用\来将一整行进行划分,但是\后的下一行必须从行首开始;还有一种办法就是将一个字符串字面量拆分成多个字符串字面量,也就是用多组双引号进行分割,这时他们会被自动组合起来,当然这时没有缩进的限制。

字符串字面量在C语言中是按照字符数组来处理的,每一个字符串字面量都以\0(空字符)来结尾,所以长度为n的字符串字面量,其字符数组长度为n+1。

既然字符串字面量按照数组的形式存储,那就和指针有联系,数组的名就是指向该数组开始的指针。

如果char * p;p="123";那么p是指向常量的地址,这时"123"不可被更改。如果char c;c[ ]="123"这时,c为一个数组,其中的值可以被更改。

读、写字符串

%s允许printf函数进行字符串的写操作,从字符串开始一直到第一个空字符处停止。如果只想显示字符串的一部分,可以用转换说明%n.ps,n表示指定的字段长度,p表示显示的字符串的长度。

puts函数,puts(str)就可显示需要的字符串,该函数在输出全部字符串后会添加一个换行符。

%s允许scanf函数把字符串读入字符数组,但是当遇到空格时停止,如果一个字符串中含有空格,它不会被完全读入。

gets函数,它不会在开始读字符前跳过空白字符,知道读到换行符才停止,忽略换行符,不把它存储到数组中。

字符串处理函数

strcpy函数:

char * strcpy(char *s1, const char *s2);

功能是将s2的字符串复制到s1,s2的空字符也会被复制;然后返回s1。

strlen函数:

size_t strlen (const char *s);

返回字符串的s的长度,s中的第一个空字符之前的字符的个数,空字符不被包括在内。

strcat函数:

char *strcat(char*s1, const char *s2);

将s2的内容追加到s1的末尾,返回s1。

strcmp函数:

int strcmp (const char *s1, const char *s2);

根据ASCII字符集比较s1和s2的大小,返回-1,0,1。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180803G1MBN000?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

同媒体快讯

扫码关注云+社区

领取腾讯云代金券