每周来点C语言零碎小知识(2)

希望勤能补拙!

小白学C语言道阻且长,欢迎找茬,同学习共交流

1、“%12.9f\n”的意思

浮点宽度为12位
小数点占1位,后面保留9位小数
前面不足12位时用空格补足

2、a【i+j】、a【i++】与a【++i】的意思

a【i+j】中的 i 和 j 是可以给赋值的,比如 i = 2,j = 1 ,则a【i+j】=a【3】
我之前的文章里已经写过i++与++i的算法,这里不写了,数组的运算也差不多
以下面的题为例:
a【i++】,初始 i = 0,根据 i ++的运算规则,先赋值后加,所以a【i++】=a【0】=2
a【++i】,先加后赋值,上面 i已经为1,再加1为2,赋值,所以a【++i】=a【2】=4
在这里插入图片描述
做一点小改动,加深理解
在这里插入图片描述

3、# include <string.h>

C语言标准库中一个常用的头文件,在使用到字符数组时需要使用。string .h 头文件定义了一个变量类型、一个宏和各种操作字符数组的函数。

eg:strncpy

1.char *strncpy(char *destinin, char *source, int maxlen);
2.(c/c++)复制字符串source中的内容(字符,数字、汉字…)到字符串destinin中,复制多少由maxlen的值决定。
3.如果source的前n个字符不含NULL字符,则结果不会以NULL字符结束。
4.如果n<source的长度,只是将source的前n个字符复制到destinin的前n个字符,不自动添加’\0’,也就是结果destinin不包括’\0’,需要再手动添加一个’\0’。
5.如果source的长度小于n个字节,则以NULL填充destinin直到复制完n个字节。
6.source和destinin所指内存区域不可以重叠且destinin必须有足够的空间来容纳source的字符长度+’\0’。
例题如下:
在这里插入图片描述

4、gets()函数

gets()函数可以从标准输入设备,也就是键盘读取字符串,直到回车结束,但回车符不属于这个字符串,它可以无限读取,不会判断上限。
用法:gets(str)
在这里插入图片描述

5、有那么一道题

将一个字符串str的内容颠倒过来,并输出的长度不超过100个字符。 如:输入“I am a student”,输出“tneduts a ma I”
在这里插入图片描述

代码里有看不懂的往下看(往上看也有)

6、上面那道题里的strlen

strlen用于计算给定字符串的长度,其返回值是给定字符串长度,不包括“\0”
strlen() 的函数声明是size_t strlen(const char *str),其中str 是要计算长度的字符串
举个栗子:
在这里插入图片描述
其中【k=strlen(str)】的意思是:计算str也就是“他”这个字符串的长度,并把它计算出的值赋值给k

8、上面那道题里的strcpy

strcpy,即string copy(字符串复制)的缩写。
strcpy是一种C语言的标准库函数,strcpy把含有’\0’结束符的字符串复制到另一个地址空间,返回值的类型为char*。
上题里【strcpy(str,“他”)】的意思就是把“他”这个字符串复制到“str”中去

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值