C语言中的输入输出函数

2023-05-16

一、字符数据输入输出函数


1.putchar(),输出一个字符:

#include <stdio.h>

int main() {
	char cChar1, cChar2, cChar3, cChar4;
	cChar1 = 'H';
	cChar2 = 'E';
	cChar3 = 'L';
	cChar4 = 'O';

	putchar(cChar1);
	putchar(cChar2);
	putchar(cChar3);
	putchar(cChar3);
	putchar(cChar4);
	putchar('\n');
}

2.getchar(),输入一个字符:

#include <stdio.h>

int main() {
	char cChar1,cChar2;
	cChar1=getchar();
	putchar(cChar1);
	putchar('\n');
	getchar();
	cChar2=getchar();
	putchar(cChar2);
	putchar('\n');
	return 0;
}

这里遇到了两个问题
①getchar()时输入法是默认中文的,所以想要得到结果就得输入字符+回车+回车,第一个回车是确认要输的字符,第二个回车才是getchar的结束确认,将输入法改为英文就可以避免这个问题。
②在输入时回车也算是一个字符,所以如果再次使用getchar()那么将直接获得这个回车。

二、字符串输入输出函数


1.puts

#include <stdio.h>

int main() {
	char Char[] = "ILOVECHINA";
	char* pChar = Char;
	printf("%c%c%c%c\n", Char[1], pChar[1], *(Char + 1),*(pChar+1));
	int len = sizeof(Char);
	printf("%d\n", len);
	printf("%p,%p,%p,%p,%p,%p\n", Char, pChar, &Char, Char + 1, pChar + 1, &Char + 1);
	puts(pChar);
}

puts是以\0为结束标志的(字符串最后一个字符就是\0)
这里顺便验证了数组名与地址之间的一些关系:
数组名是数组开始的地址,也就是Char[0]的地址。
对数组名+1等价于对数组的起始地址+1等价于对数组的起始地址+sizeof(char)。
对数组名取地址得到的仍然是数组的起始地址,但是这个地址的基本单位为一个数组,也就是对该地址+1得到的是数组的起始地址+sizeof(Char)。

2.gets

#include <stdio.h>

int main() {
	char sString[30];
	gets_s(sString);
	puts(sString);
	char sString1[30];
	gets_s(sString1);
	puts(sString1);
}

这里测试了一下gets后是否需要用getchar吃掉回车,结果是不需要的

三、格式输入输出函数

1.printf(格式字符,输出列表)

格式字符功能
d/i带符号十进制整数
o无符号八进制整数
x/X无符号16进制整数,x用小写字母输出,X用大写字母输出
u无符号十进制整数
c输出一个字符
f输出字符串

%10s,若字符串大于10位,则正常输出,若字符串小于10位,则在左边补0,补满十位
%-10s,若字符串大于10位,则正常输出,若字符串小于10位,则在右边补0,补满十位
%10.3s,只取字符串左边3位输出,在左边补0,补满十位
%-10.3s,只取字符串左边3位输出,在右边补0,补满十位

2.scanf(格式控制,地址列表)

#include <stdio.h>

int main() {
	char cChar[30];
	char cChar1[30];
	scanf_s("%s", &cChar,sizeof(cChar));
	//putchar(getchar());     //去回车
	scanf_s("%s", &cChar1,sizeof(cChar1)); 
	printf("%s,%s", cChar,cChar);
}

scanf使用空白字符来分隔输入的数据,所以回车对scanf并没有影响。
scanf_s("%d,%d", &G->numVertexs,sizeof(int), &G->numEdges,sizeof(int));对于这种%d,%d,那么在输入数据的时候也只能用逗号分隔

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C语言中的输入输出函数 的相关文章

  • 使用速腾雷达32线Helios和fast-LIO2算法建图(三)

    一 建图 1 源码下载 https github com hku mars FAST LIO 2 配置环境 步奏一 安装PCL gt 61 1 8 PCL的安装可以参考 可选 xff0c 建议考虑不用安装 https blog csdn n
  • Ubuntu 18.04 安装RealSense D435教程

    1 更新内核 运行代码 uname r 如果 gt 61 4 4 0 50的版本则ok xff0c 否则需要升级内核 2 更新cmake xff08 需要3 6以上版本 xff09 xff08 需要科学上网 xff09 首先下载cmake
  • Ros 与 STM32 之Ros串口同设备USB固定

    研究后发现Ros与STM32 都是通过串口 TTL转USB 的方式连接到USB A xff1a 有两种形式 一种 使用 ros kinetic serial 中的py 包用的ROS的serial功能包 B xff1a 另一种则是使用编写的c
  • ROS 动态参数 实时调参方式

    前言 xff1a 开发者常常需要动态调整参数以查看机器人在不同参数下的性能表现 xff1b 无论是通过YAML 文件配置参数还是通过节点句柄操作参数 xff0c 都会面临一个问题 xff0c 如果节点不主 动查询参数值 xff0c 就无法获
  • 上下文切换的概念

    上下文切换 xff08 也可以称作进程切换或任务切换 xff09 xff0c 它指的是 CPU 从一个进程 xff08 或线程 xff09 切换至另一个进程 xff08 或线程 xff09 上下文指的是某一时间点 CPU 寄存器和程序计数器
  • 多旋翼-六轴硬件选型

    挑战杯所用六轴 机架 定 桨叶机重 定 拉力 xff08 机重除以0 4 xff09 拉力 电池 桨叶 定 电机定 电调
  • 基于51的扫地车

    51复习 AT89S51系列单片机的ISP下载是通过P15 P16 P1 7 RST引脚来下载的 xff0c 而宏晶国产STC单片机则具有串口ISP功能 xff0c 可直接使用串口 xff0c 将程序下载进单片机 40个引脚 https b
  • pix2.4.8 从入手到装机(2021.4.4)

    2023 2 10 我重新完完整整的又走了一次 xff0c 记录了一下过程 xff1a 飞控是pix2 4 8 xff0c 固件是APM 原文 xff1a 咸鱼入手2套辣鸡pix xff0c 第一次使用并检查硬件好坏 xff0c 确认是否退
  • 焊板常用元器件(2021.4.6)

    钽电容 正负 xff1a 有线一端为正级 耐压 xff1a 2 Led Key buzzer 按键 xff1a 对角线焊到电路中 灯 xff1a 绿条是负 蜂鸣器 xff1a 区分有无源 xff0c 引脚 xff0c 有正负为有源 xff0
  • 恒温箱课程设计(2021.4.12)

    第一步 方案选择 淘宝闲鱼csdn 主要难点在于 xff1a 小控大是难点 xff0c 对执行器和驱动的选择 最终 电磁和固态继电器都不行 xff0c 要可控相位的继电器 xff0c 太贵了 只能固态了 xff0c if控制 xff0c 效
  • JVAV学习笔记(二)—接口

    JVAV学习笔记 xff08 二 xff09 接口 abstract class AbsDemo abstract void show1 abstract void show1 interface Inter public static f
  • CAD2020入门学习(2021.4.13)

    学习途径 xff1a 软件管家CAD2018网课 第一步 界面熟悉 第二步 新建 保存 关闭 第三步 基本操作 xff1a 鼠标 xff0c 命令 xff0c 相对坐标和极坐标 第四步 搜索 xff1a CAD快捷键 画直线 L画圆 C画弧
  • 32平衡车

    1 组装 底板和主板到了 xff0c 组装 xff0c 测试 问题 xff1a tb6612电容炸了 原因 xff1a xff1f xff1f xff1f xff08 1 xff09 钽电容纹波电流小 xff0c 扛过流能力弱 xff0c
  • 储物柜2022.1.1

    keil pack http www keil com dd2 pack keil 安装 httpsblog csdn netMatcha ice creamarticledetails118684582 Jlink驱动 https www
  • 【动手学深度学习】环境配置(详细记录,从vmware虚拟机安装开始)

    目录 装了很多次环境 xff0c 步骤已精简每一步都不可缺 xff0c 也得按顺序第一大步 xff1a VMware 安装 43 使用 VMware 下载及安装 ubuntu18 04 下载 VMware 使用 第二大步 xff1a ubu
  • 【物资投放无人机】记录( ROS + PX4 + YOLOV5 + ESP8266 + 舵机)

    目录 写在前面 xff1a 硬件环境写在前面 xff1a 软件环境一 无人机组装 调试 xff08 PX4或APM xff09 二 Jetson Nano 43 ROS 43 YOLO 目标检测实现 win10安装YOLOv5环境 训练模型
  • 【K210踩坑】pytorch模型转kmodel,Dock上使用。(最终未实现)

    目录 前言一 踩大坑二 pytorch 转 kmodel第 步 xff1a pytorch模型搭建 训练 保存第 步 xff08 思路一 xff09 xff1a pytorch 转 onnx 转 pb 转 tflite 转 kmodel1
  • 【常用命令】conda、linux、ros

    目录 一 conda xff08 0 xff09 获取帮助 xff08 1 xff09 列出所有环境 xff08 2 xff09 创建新环境 xff08 3 xff09 删除环境 xff08 4 xff09 激活环境 xff08 5 xff
  • 【车机协同slam】miniPC、Nano、T265、UWB linktrack P-B

    目录 0 前言0 1 软硬件0 2 实现步骤 一 装系统 换源 装ROS1 1 装系统 换源2 1 装ROS 二 T2652 1 ubuntu 安装 T265 SDK xff08 已测18 20 Nano xff09 xff1a 2 2 u

随机推荐