使用scanf
//
// Created by sun7788 on 2020/4/17.
//
#include <cstdio>
#include <cstring>
int main(){
// 在c语言中有输入功能的有scanf getxx
// 使用scanf进行输入
// 输入数值
int a_Integer;
float a_FloatNum;
double a_Double;
scanf("%d%f%lf",&a_Integer,&a_FloatNum,&a_Double);
printf("%d %f %lfn",a_Integer,a_FloatNum,a_Double);
// 输入字符型数组
// strlen为string.h这个头文件中的一个函数 作用是得到一个字符型数组的长度
char a[16];
scanf("%s",a);
printf("字符型数组为%s 长度为%dn",a,strlen(a));
//带格式输入
//获取固定几位数据
int year,month,day;
scanf("%4d%2d%2d",&year,&month,&day);
printf("%d %d %dn",year,month,day);
//使用固定字符隔离开
scanf("%d-%2d-%2d",&year,&month,&day);
printf("%d %d %dn",year,month,day);
/*
* scanf()函数碰到空格会跳过 适合用来接收用空格来接收的成组的数据
*
* */
return 0;
}
Output:
使用cin
//
// Created by sun7788 on 2020/4/17.
//
#include <cstdio>
#include <iostream>
int main(){
/*
* cin在输入的时候会跳过空格 换行 在性能上没scanf那么好
* */
int aInteger;
std::cin>>aInteger;
std::cout<<aInteger<<std::endl;
float aFloat;
std::cin>>aFloat;
std::cout<<aFloat<<std::endl;
double aDouble;
std::cin>>aDouble;
std::cout<<aDouble<<std::endl;
std::string aStr;
std::cin>>aStr;
std::cout<<aStr<<std::endl;
return 0;
}
Output:
使用getline
//
// Created by sun7788 on 2020/4/17.
//
#include <cstdio>
#include <iostream>
int main(){
//由于getline会接收空格 可以使用getchar()函数接收空格
char aString[66];
std::cin.getline(aString,66);
std::cout<<aString<<std::endl;
std::string anotherString;
std::getline(std::cin,anotherString);
std::cout<<anotherString<<std::endl;
return 0;
}
Output:
使用getchar()进行输入
使用getchar()跳过某些输入
#include <cstdio>
int main(){
char a,b,c;
a=getchar();
getchar();
b=getchar();
c=getchar();
printf("%c%c%cn",a,b,c);
return 0;
}
Output:
由于getchar()能获取到空格 换行符等 例如
当输入数据如下时:
aqnb