C语言部分输入输出(printf函数与scanf函数,getchar与putchar详解,使用Linux ubuntu)

1.输入输出

1.1.按格式 输入输出

printf

可以在man手册中查看

int printf(const char *format, ...);

printf:函数名(参数)int:函数的返回值

功能:按格式在终端输出

参数:多参

返回值:输出字符个数

格式:

%d int

%c char

%f float

%lf double

%s 字符串

%p 地址

%o %#o 八进制

%x%#x 十六进制

/4.5f : 4表示位宽(域长),.后面表示精度

scanf

输入函数

int scanf(const char *format, ...);

功能:按格式向终端输入

参数:多参

返回值:正确输入字符个数

复制代码
#include<stdio.h>
int main(int argc, char const *argv[])
{
    int a = 0,b = 0;
    char c = 0;
    scanf("%d %d %c",&a,&b,&c);
    getchar();
    printf("%d,%d,%c\n",a,b,c);
    return 0;
}

1.2. 按照字符输入输出

g e t c h a r

int getchar(void);

功能:终端输入一个字符

参数:无

返回值:输入的字符的ASCII码值

putchar

int putchar(int c);

功能:终端输出一个字符

参数:字符的ASCII码值

返回值:字符的ASCII码值

复制代码
#include<stdio.h>
int main(int argc, char const *argv[])
{
//    getchar();
    putchar(65);
    putchar(10);
    char res = getchar();//输入多个,识别第一个
    putchar(res);//只适用于单个字符输入输出,ascii码值为中间衔接
    putchar(10);//换行
    getchar();//终端输入字符,同时回收一个或者多个空格,验证2是不是字符
    printf("%d",getchar());//回收字符
    putchar(10);
    return 0;
}

scanf("%d %d%*c%c",&a,&b,&c);//%*c可以回收任何一个字符

#include<stdio.h>
int main(int argc, char const *argv[])
{
//    getchar();
    putchar(65);
    putchar(10);
    char res = getchar();//输入多个,识别第一个
    putchar(res);//只适用于单个字符输入输出,ascii码值为中间衔接
    putchar(10);//换行
    getchar();//终端输入字符,同时回收一个或者多个空格,验证2是不是字符
    printf("%d",getchar());//回收字符
    putchar(10);
    //或者
    getchar();
    int res2 = getchar();//直接赋值回收的上一个字符
    printf("%d\n",res2);
    return 0;
}

2.垃圾字符回收

  1. 通过空格回收一个或多个空格、tab

char a=0,b=0;

scanf("%c%c",&a,&b);

printf("a:%c b:%d\n",a,b);

解决:

  1. 通过%*c*抑制符(了解)

回收任意一个字符

char a=0,b=0;

scanf("%c%*c%c",&a,&b);

printf("a:%c b:%d\n",a,b);

  1. 通过getchar回收scanf的换行

while(1)

{

char a=0;

scanf("%c",&a);

getchar();

printf("%c\n",a);

}

==============================

char a=0;

scanf("%c",&a);

getchar();

printf("%c\n",a);

char b=0;

scanf("%c",&b);

printf("%c\n",b);

相关推荐
牛十二30 分钟前
mac-intel操作系统go-stock项目(股票分析工具)安装与配置指南
开发语言·前端·javascript
励志不掉头发的内向程序员30 分钟前
从零开始的python学习——文件
开发语言·python·学习
恒森宇电子有限公司32 分钟前
IP5326_BZ 支持C同口输入输出的移动电源芯片 2.4A的充放电电流 支持4LED指示灯
c语言·开发语言·单片机
曼巴UE51 小时前
UE5.3 C++ 接口初步使用
开发语言·jvm·c++
奔跑的石头_1 小时前
GO语言的主要语法和特性
开发语言
曙曙学编程1 小时前
stm32——NVIC,EXIT
c语言·c++·stm32·单片机·嵌入式硬件
liulilittle1 小时前
UNIX/macOS路由表查询原理与实现
服务器·开发语言·c++·macos·unix·编程语言
HUST2 小时前
C语言 第三讲:分支和循环(上)
c语言·开发语言
今日待办2 小时前
Arduino Nano33 BLESense Rev2【室内空气质量检测语音识别蓝牙调光台灯】
c语言·单片机·嵌入式硬件·mcu·语音识别·ardunio·arduinonano33
Dovis(誓平步青云)2 小时前
《探索C++11:现代语法的性能优化策略(中篇)》
开发语言·c++