使用gets()即使字符串中含有空格,依然可以接收,而scanf()不会。

Example:

/*
输入一个字符串到字符数组s1中,将s1中的字符串复制到字符数组s2中并输出s2中的字符串。
不用strcpy函数。复制时,'\0'也要复制过去。
【输入输出示例】
abc123
abc123
*/
#include<stdio.h>
#include<string.h>
int main(void)
{
char s1[100],s2[100];
int i;
gets(s1); //使用gets()目的是即使字符串中含有空格,依然可以接收,而scanf()不会
for(i=0;s1[i]!='\0';i++)
{
s2[i]=s1[i];
}
s2[i]='\0';
puts(s2);
return 0;
} 

gets()接收一行,可以接收空格;

scanf()遇到空格,回车和TAB都会结束接收,将包括该字符的后面内容放入缓冲区‘’

getchar()用于接收单个字符。

puts()与scanf(“%s”)的更多相关文章

  1. gets,fgets,puts,fputs,scanf,printf的作用,联系和区别

    转载: https://blog.csdn.net/lc10915819/article/details/12747943

  2. scanf的拓展用法——匹配特定字符

    scanf的基本用法除了常规的输入操作外还有一些特殊的用法,使用这些用法可以很方便的在输入中读取想要的数据 1.限制输入数据的长度 这个应该算不上拓展用法,大多数读者应该都曾经使用过,这里简单提一下 ...

  3. c语言之I/O函数

    c语言中常用的I/O函数 最常用的字符串的标准I/O函数有getchar().putchar().gets().puts().scanf().printf().fputs().fgets().getc ...

  4. C语言函数的声明以及函数原型

    C语言代码由上到下依次执行,原则上函数定义要出现在函数调用之前,否则就会报错.但在实际开发中,经常会在函数定义之前使用它们,这个时候就需要提前声明.所谓声明(Declaration),就是告诉编译器我 ...

  5. 【POJ 1523】SPF(割点)

    儿子数大于1的树根或者 Low[v] >= DFN[u]的非树根节点v 就是割点. #include <cstdio> #include <cstring> const ...

  6. uva.10020 Minimal coverage(贪心)

    10020 Given several segments of line (int the X axis) with coordinates [Li, Ri]. You are to choose t ...

  7. 刘汝佳 算法竞赛-入门经典 第二部分 算法篇 第五章 3(Sorting/Searching)

    第一题:340 - Master-Mind Hints UVA:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Item ...

  8. hdu 3487

    splay #include<cstdio> #include<cstring> #include<iostream> #include<algorithm& ...

  9. UVA 825 Walkiing on the safe side

    根据地图,要求固定两点间最短路径的条数 . 这题的输入数据就是个坑,题目有没有说明数据之间有多个空格,结尾换行符之前也不止一个空格,WA了好几遍,以后这种情况看来都要默认按照多空格的情况处理了. 可以 ...

  10. Technology Trader

    zoj2071:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2071 题意:题意一些零件,每一个零件会有一个花费,然后用这 ...

随机推荐

  1. 读后笔记 -- Java核心技术(第11版 卷 II) Chapter5 数据库编程

    5.1 JDBC API 1. JDBC (Java Database Connectivity) is an API for interacting with a database in Java. ...

  2. 修改 npm 全局模块及模块缓存存放位置

    说明 npm 全局模块安装将包安装到 C:\Users\%user%\AppData\Roaming\npm 目录下,缓存则放于 C:\Users\%user%\AppData\Roaming\npm ...

  3. accept 类型列表

    *.3gpp audio/3gpp, video/3gpp 3GPP Audio/Video *.ac3 audio/ac3 AC3 Audio *.asf allpication/vnd.ms-as ...

  4. lua-table面向对象

    --使用table封装面向对象beauty={name = " "}--封装对象方法function beauty.init(self, name)print("十八年前 ...

  5. Windows11 微软提供三种路径 安装程序应用

    Windows11 微软提供三种路径 安装程序应用

  6. .Net Core WebApi 控制器自动创建文件夹上传图片

    /// <summary> /// 异步图片或文件上传 /// </summary> /// <param name="formFile">&l ...

  7. C语言代码格式脚本-astyle

    安装astyle sudo apt install astyle 代码格式化脚本 #!/bin/sh # http://astyle.sourceforge.net/astyle.html PARAM ...

  8. git push 时发生的error: failed to push some refs to

    - 先再一个新建的一个文件夹里面git clone +你要克隆的远程仓库 - 然后把克隆下来的.git文件夹复制到你的本地仓库,然后再commit-git add, - git push 就可以提交成 ...

  9. 记一次对peer的理解

    今天在使用react-native开发项目的时候,想要使用async-storage. 我用的rn版本是18.2.0,不带async-storage,所以我需要自己安装下载. 于是执行命令: npm ...

  10. GIT 上传文件出错:fatal: Could not read from remote repository. 解决方案

    问题 git push -u origin master 执行后报错 fatal: Could not read from remote repository.  解决方案 1. git执行 git ...