IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> scanf函数与gets()函数的一点小区别(C语言,入门必看必会)总结在最后哦 -> 正文阅读

[C++知识库]scanf函数与gets()函数的一点小区别(C语言,入门必看必会)总结在最后哦

例如在一个字符连接的问题中;scanf函数与gets()函数有着明显的区别

#include<stdio.h>
char* S(char* str1,char* str2)//定义一个指针类型的函数,作用为连接两个字符串。 
{
	char*p = str1;
	while(*str1 != '\0')
	*str1++;
	while(*str2 != '\0')
	*str1++ = *str2++;
	*str1 = '\0';
	return p;
 } 
 int main()//主函数
 {
 	char str1[20],str2[20];
 	printf("str1=");
 	//scanf("%s",&str1);
 	gets(str1);
 	printf("str2=");
 	//scanf("%s",&str2);
 	gets(str2);
    printf("连接后的字符为%s",S(str1,str2));
 }

首先,我们注释scanf函数,用gets()函数进行输入,输入str1=1 3 ,str2=1 4 ;(每个数字中间都有空格),结果如下:

?这说明gets()函数会将空格默认为一个字符进行输入;

然后我们注释gets()函数,用scanf函数输入同样的str1=1 3 ;str2=1 4 ;

#include<stdio.h>
char* S(char* str1,char* str2) 
{
	char*p = str1;
	while(*str1 != '\0')
	*str1++;
	while(*str2 != '\0')
	*str1++ = *str2++;
	*str1 = '\0';
	return p;
 } 
 int main()
 {
 	char str1[20],str2[20];
 	printf("str1=");
 	scanf("%s",&str1);
 	//gets(str1);
 	printf("str2=");
 	scanf("%s",&str2);
 	//gets(str2);
    printf("连接后的字符为%s",S(str1,str2));
 }

结果又会是怎样呢?请看下图:

结果很明显,scanf函数在输入时,将空格进行了忽略,并没有输出空格;这使得将空格放在了缓存区,也没办法进行输入str2,结果只能是13;

总结:scanf函数并不会区分空格和回车,scanf函数默认空格与回车的作用相同;而gets()函数会明确区分scanf与gets()这两种函数的区别,将空格默认为一个字符进行输入。

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-12-24 18:17:43  更:2021-12-24 18:18:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 13:34:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码