• 字符串拼接函数

strcat()

  • 字符串----作为很多编程语言的鼻祖C语言,没有字符串类型,取而代之的字符数组,很多数组在声明的时候会给定数组长度,然而我们却可以这样写

char mywords[] = "you and me hold breath count to 3";

  • 计算字符串(实际上是字符数组)长度 strlen()
#include <stdio.h>
#include <string.h>
void main()
{
   printf("喜欢陈培昌");
   getchar();
   char mywords[] = "you and me hold breath count to 3";
   printf(strcat(mywords,"\n"));
   printf("字符数组的长度是%d",strlen(mywords));
   printf("\n");
}

输出结果:

  • 遍历输出数组元素

有其他语言编程习惯的朋友,习惯在循环条件中声明循环变量i的类型,but 在C语言,I'm deeply sorry这就出错了

c语言的习惯是先声明循环变量,然后再循环条件中使用定义好的循环变量

#include <stdio.h>
#include <string.h>
void main()
{
char mywords[] = "劲儿弟弟和昌仔在擂台实战,汗水,昏黄的灯光,青年搏击运动员荷尔蒙,鞋柜里散发的脚味,姑娘们和老外的香水味,混杂在一起,越发的让一切迷乱起来";
int i=;
for(i=;i<strlen(mywords);i++)
{
printf("%c",mywords[i]);
}
printf("\n");
}
  • 数组元素逆序
#include <stdio.h>
#include <string.h>
void main()
{
char mywords[] = {"don't break myheart"};
char reversearray[sizeof(mywords)] = {};
int arraysize;
arraysize = sizeof(mywords);
printf("%d",arraysize);
printf("\n");
int i=;
for(i=;i<arraysize;i++)
{
reversearray[arraysize-i-]=mywords[i];
}
printf(reversearray);
printf("\n");
}

注意,字符数组变量值的部分一定要用{}包裹,声明的空数组一定要用{0}包裹,否则将无法得到实验结果

中文字符串的处理需要另外讨论

输出结果:

  • 宽字符----可以处理中文的类型

注意,下列上机环境为centos7,windows下写法略有不同,主要体现在本地化函数setlocate上面,如果你参照的出版物无法得到预期结果,可能和操作系统有关

#include <stdio.h>
#include <string.h>
#include <wchar.h>
#include <locale.h>
void main()
{
setlocale(LC_ALL, "zh_CN.UTF-8");
wchar_t mywords = L'冬'; #注意,单一字符不用加方括号[]
   wprintf(L"%lc \n",mywords);#单一字符输出格式为lc
wchar_t iwant[] = L"想用脸碰一下劲儿弟弟的毛儿扎头";
wprintf(L"%ls \n",iwant);#字符串输出格式为ls
}

输出结果:

粗暴,干就完了----徐晓冬似的C语言自学笔记---字符数组相关技术的更多相关文章

  1. 粗暴,干就完了----徐晓冬似的C语言自学笔记----前言

    10对年前就觉得C/C++语言很酷,第一印象就是90年代末,个人电脑在中华大地开始普及的岁月中,层出不穷的病毒,对了,全是C/C++写的:除了危及人民群众信息安全以外,C系列语言用途甚广,可以发明其他 ...

  2. 粗暴,干就完了----徐晓冬似的C语言自学笔记-----实现一个链表结构

    #include <stdio.h> #include <stdlib.h> #define N 5 /*N 假定数组长度为5*/ typedef struct snode { ...

  3. c语言中的字符数组与字符串

    1.字符数组的定义与初始化 字符数组的初始化,最容易理解的方式就是逐个字符赋给数组中各元素. char str[10]={ 'I',' ','a','m',' ',‘h’,'a','p','p','y ...

  4. C语言字符串与字符数组

    字符串儿与字符数组 字符数组的定义: Char buffer[]; 字符数组初始化: Char buffer1[]="hello world"; 利用scanf输入一个字符串儿 代 ...

  5. [日常] C语言中的字符数组和字符串

    c语言字符数组和字符串:1.存放字符的数组称为字符数组 char str[]2.'\0'也被称为字符串结束标志3.由" "包围的字符串会自动在末尾添加'\0'4.逐个字符地给数组赋 ...

  6. C语言可以给字符数组赋值的方法

    分类: C 2012-04-06 10:23 4081人阅读 评论(0) 收藏 举报 语言c 学了这么多年的C语言,突然发现连字符串赋值都出错,真的很伤心. char a[10]; 怎么给这个数组赋值 ...

  7. (C/C++学习)15.C语言字符串和字符数组

    说明:在C语言中字符串和字符数组有很多相似之处,却又有着一些不同.本文将针对其区别与联系,进行分析总结. 一.字符串 1.在C语言中,字符串是由双引号括起来的任意字符序列,如:"china& ...

  8. C语言自学网官方微信相关功能使用方法

    一.微信扫描关注微信公众账号(C语言自学网),我们会不定时更新关于编程的技术文章和相关资讯,了解大佬的成长之路. 二.回复“C语言学习资料”,将显示由我们精心整理的全套C语言学习资料的下载地址及链接. ...

  9. C语言学习笔记 (007) - 数组指针和通过指针引用数组元素的方法总结

    1.数组指针:即指向数组的指针 那么, 如何声明一个数组指针呢? ]; /*括号是必须写的,不然就是指针数组:10是数组的大小*/ 拓展:有指针类型元素的数组称为指针数组. 2.通过指针引用数组元素的 ...

随机推荐

  1. 洛谷 题解 P1284 【三角形牧场】

    状态: dp[i][j]表示用i和j的木板能否搭成,不用去管第三块,因为知道了两块的长度与周长,那就可以表示出第三块:c-i-j 转移 有点类似于背包 if((j-l[i]>=0&&am ...

  2. axios 使用post方式传递参数,后端接收不到

    最近做vue项目,做图片上传的功能,使用get给后台发送数据,后台能收到,使用post给后台发送图片信息的时候,vue axios post请求发送图片base64编码给后台报错HTTP 错误 414 ...

  3. AMD全新32核线程撕裂者GeekBench跑分曝光:超2950X近一倍

    AMD全新32核线程撕裂者GeekBench跑分曝光:超2950X近一倍 2019年09月01日 09:36 1109 次阅读 稿源:快科技 1 条评论 https://www.cnbeta.com/ ...

  4. 【青橙商城-管理后台开发】3. web模块搭建

    [青橙商城-管理后台开发]3. web模块搭建 1.创建qingcheng_web_manager模块 pom.xml <?xml version="1.0" encodin ...

  5. 怎样启动Nginx并设置开机自动运行

    1. 启动 sudo systemctl start nginx.service 2. 设置开机自动运行 sudo systemctl enable nginx.service

  6. 怎样快捷获取元素节点body

    1. 使用: document.body document.body.nodeName; // "BODY" 2. 使用: document.getElementsByTagNam ...

  7. hdu 2767 强连通缩点处理加边问题

    #include <cstring> #include <cstdlib> #include <cstdio> 缩点的好处就是可以将乱七八糟的有向图 转化为无环的有 ...

  8. Java 8 Collectors 类的静态工厂方法

    摘自<<Java 8 实战>> Collectors 类的静态工厂方法 工厂方法 返回类型 用于 toList List<T>  把流中所有项目收集到一个 List ...

  9. Nopcommerce 项目添加插件

    插件是用来扩展nopCommerce功能的.nopCommerce拥有多种类型的插件.例如:支付方式(PayPal),税务机构,送货方式计算方法(UPS, USP, FedEx),小部件(如“在线聊天 ...

  10. springboot+mybatis调用oracle存储过程

    1 存储过程参数为VARCHAR 代码逻辑:controller层定义实体类对象entity,并entity.set给存储过程的输入参数赋值,把赋值后的实体类通过service层传到dao层,然后通过 ...