我们用宏来解决这个问题,粘贴了万年打头的输入输出头文件后再粘贴几行宏就行了。
#include <stdio.h>
#define S scanf
#define P printf
#define N "\n"
#define D "%d"
这里宏就等于是文本编辑器里的“查找-替换”,这样达成效果如下:
int main()
{
int a;
S(D,&a);
P(D N,a);
}
换成IO流的头文件也一样:
#include<iostream>
#define I std::cin
#define O std::cout
int main()
{
int a;
I>>a;
O<<a;
}
注意:定义的宏标识符遇到数字字母时要用空格隔开,编译器会把连在一起的数字字母看成一个标识符,如
P(D N,a);
P(DN,a);
前者可以而后者不行。
特殊符号不能写进标识符里,所以这样
I>>a;
O<<a;
不加空格是可以的,不影响编译器识别。