#include<stdio.h>

//gets()读取字符串, 可以读取空格

int main()
{
char num[2] = "";//gets 也会造成内存污染 , 设置字符串长度是2, 但是如果长度超过了2还是会打印, 所以这样就会造成内存污染
gets(num);// ()里面的参数要的是存放读取字符串的地址 printf("num is %s",num); return 0; }
#include<stdio.h>

//fgets默认必须有三个参数,第一个是读取到哪里,第二个参数表示最多读多少, 第三个参数是从哪里读(默认就是stdin,即标准输入,也就是键盘的意思), 

int main()
{
char num[6] = ""; printf("size of is %d\n",sizeof(num)); fgets(num, sizeof(num),stdin); //fgets 是从stdin(标准输入==键盘)读取字符串, 到num数组中 , 最大可以读sizeof(num)-1个
printf("num is %s",num); return 0;
}

fgets()会读到\n, 所以上面这里会有一个换行符号

如果让fgets()不要读到\n

#include<stdio.h>

//如何找到最后一个字符的\n

//’\0’是判定字符数组结束的标识,表示这串字符到结尾了;
int main()
{
char number[] = "shun"; printf("sizeof number is %d\n",sizeof(number)); printf("stren number is %d\n",strlen(number)); //strlen 返回的是有效数组的个数, 不包括'\0' int i = 0; while (number[i] != '\0')
{
i++;
}
printf("the i value is %d",i); return 0;
}
#include<stdio.h>
#include<string.h>
#include<stdlib.h> //字符串数组的输出 int main()
{ char buf[128] = "shun"; //输出方式1
puts(buf);//传参是首元素地址,其实就是数组名字 //输出方式2
fputs(buf,stdout);//往标准输出文件输出, 其实就是终端,第一个参数是数组首元素, 第二个参数是输出的地方, 标准输出 return 0;
}

c语言学习---gets()读取字符串,以及\0,fgets()put()fputs()的更多相关文章

  1. C语言学习笔记---3.字符串格式化输入输出

    1.C语言字符串 字符串(character string)是一个或多个字符的序列,例如:"Zing went the strings of my heart!" C语言没有专门用 ...

  2. R语言学习笔记:字符串处理

    想在R语言中生成一个图形文件的文件名,前缀是fitbit,后面跟上月份,再加上".jpg",先不百度,试了试其它语言的类似语法,没一个可行的: C#中:"fitbit&q ...

  3. C语言学习_从VC++6.0开始

    前言: C语言是一门博大精深的语言,C语言往往是程序员以及所有软件行业从业者的第一门编程语言. 编程环境: 对于初学者来说,我一开始学习C语言,其实是用的turboc 2.0版本,这个很有历史感,但是 ...

  4. GO语言学习——基本数据类型字符串

    字符串 Go语言中的字符串以原生数据类型出现. Go 语言里的字符串的内部实现使用UTF-8编码. 字符串的值为双引号(")中的内容,可以在Go语言的源码中直接添加非ASCII码字符 GO语 ...

  5. R语言学习——R读取txt、csv、xls和xlsx格式文件

    最近项目中运用到了R读取文件数据,所以把相关好用的.经过验证的方法总结了一下,有效避免下次入坑. 1. R读取txt文件 使用R读取txt文件直接使用read.table()方法进行读取即可,不需要加 ...

  6. 【C语言学习笔记】字符串拼接的3种方法 .

    昨天晚上和@buptpatriot讨论函数返回指针(malloc生成的)的问题,提到字符串拼接,做个总结. #include<stdio.h> #include<stdlib.h&g ...

  7. Dart语言学习(四)Dart字符串

    一.字符串的创建 使用 单引号,双引号 创建字符串 使用 三个引号或双引号 创建多行字符串 使用 r 创建原始 raw 字符串 String str1 = 'Hello';//"" ...

  8. C语言学习笔记之字符串拼接的2种方法——strcat、sprintf

    本文为原创文章,转载请标明出处 1. 使用strcat进行字符串拼接 #include <stdio.h> #include <stdlib.h> #include <s ...

  9. go语言学习笔记---读取文件io/ioutil 包

    io/ioutil 包几个函数方法 名称  作用 备注 ReadAll 读取数据,返回读到的字节 slice 1 ReadDir 读取一个目录,返回目录入口数组 []os.FileInfo, 2 Re ...

  10. Swift3.0语言教程使用URL字符串

    Swift3.0语言教程使用URL字符串 Swift3.0语言教程使用URL字符串,和路径一样,URL其实也是字符串,我们可以将这些字符串称为URL字符串.本小节将讲解URL字符串的使用. 1.编码 ...

随机推荐

  1. charles证书安装-客户端证书

    1.iOS设置教程: 1)wifi中配置代理 2)浏览器中输入chls.pro/ssl,进行证书下载 3)证书下载成功后,设置--通用--描述文件–安装刚下载的证书 4)设置--通用--关于本机--证 ...

  2. c++的double转string(转)

    原文地址:https://www.cnblogs.com/finallyliuyu/p/1810071.html c++中double转换成string型(浮点数的格式化)(转)   在日常编程中-- ...

  3. Unix时间戳转化成普通日期

    var time = 1630634462000; //13位数 var unixTimestamp = new Date(time); var commonTime = unixTimestamp. ...

  4. Software_programming_automation_selenium

    10:52:37 Table 获取 tr list 注意会无法正常遍历获取. 修正后正常 1 public SelectionCriteriaPage checkSpecifyTag(int coun ...

  5. PHP_递归实现无限级分类

    <?php /** * 递归方法实现无限级别分类 * @param array $list 要生成树形列表的数组[该数组中必须要有主键id 和 父级pid] * @param int $pid= ...

  6. HIVE-CREATE TABLE

    (1) create table 表A as select 字段 from 表B; (2) create table 表A stored as parquet as select 字段 from 表B ...

  7. <CONTAINING_RECORD宏>引发的<结构体深度剖析(内存对齐,对齐参数,偏移量)>

    什么是结构体内存对齐?为什么要对齐?怎样对齐? 结构体内存对齐:元素是按照定义顺序一个一个放到内存中去的,但并不是紧密排列的. 从结构体存储的首地址开始,每个元素放置到内存中时,它都会认为内存是按照自 ...

  8. 使用Wireshark完成实验3-IP

    1.使用Wireshark打开ip-ethereal-trace-1,如图 电脑IP地址为192.168.1.102 2.如图,IP包头中上层协议字段的值为1,代表为ICMP 3.如图,IP头中有20 ...

  9. PowerShell Regex

    PowerShell默认按每一行遍历去匹配模式 比如"aaa`nbbb"用"a.*b"是匹配不到的 需要用"(?s)a.*b"来匹配 1. ...

  10. kotlin information

    Kotlin常用的by lazy你真的了解吗 =>    https://juejin.cn/post/7057675598671380493 END