上次,我们讲到了变量。但是我们光光靠手动在程序赋值肯定是不能满足用户的,因为其他用户也会给出他们想要的数据,比如我今年 \(13\) 岁,但是用户可能要往程序里输入:我今年 \(10\) 岁、\(20\) 岁、\(100\) 岁、\(\sout{114514}\) 岁......这就不得不请出我们的输入了。
cin 语句
和 cout 类似,但是需要注意,cin 的插入符号是右移符号 >>。
比如:
cpp
int a,b;
cin>>a>>b;
就能往两个 int 型的变量输入东西了。
cpp
#include<iostream>
using namespace std;
int main(){
int a,b;
cin>>a>>b;
cout<<a+b<<endl;
return 0;
}
现在大家尝试运行这个代码,往控制台输入 1 2,按下回车,可以看到控制台输出了 3。
scanf 语句
和 printf 类似,但是注意,输入变量的时候需要加上取地址符 &,因为程序调用 scanf 时如果不加上 & 那么程序读入后无法修改你这个变量,千万注意!(这个讲到指针就好懂了)
c
#include<stdio.h>
int main(){
int a,b;
scanf("%d%d",&a,&b);
printf("%d\n",a+b);
return 0;
}
同样运行这个代码试试看。
getchar 语句
要注意,getchar() 的使用方法和 putchar() 不一样,如果我要输出一个字符,那么是 putchar('A');但是我要输入到 char 类型变量,只能使用 char c=getchar(),这个 getchar() 只会读入一个字符,如果我输入 I am an OIer, longint. 那么 c 的值就只会是 'I'。
c
#include<stdio.h>
int main(){
char c=getchar();
putchar(c);
return 0;
}
输入 a,看看有没有输出 a?
另外,输入还有 \(3\) 种 gets()、fgets()、getline(),我们讲到数组、字符串的时候再提。