快速读入以空格或回车结束的数字
inline是内联函数,是为解决调用函数带来的降低效率的问题,因为在调用函数时是将程序顺序的转移到了函数的某个地址,完了之后再返回到调用的地方,在转移前要保护现场并记忆执行的地址,转移后要先恢复现场,并按原来的现场继续执行,因此调用函数会有一定的时间和空间上的开销,而影响效率,为解决那些函数体不大,并且频繁被调用的函数,而引人了内联函数
内联函数在调用时不会像函数那样转来转去的,而是用内联函数的函数体进行替换,此操作增加了目标函数的代码量,当然这样增加了空间的开销,与此同时也节省了时间
程序代码:
#include<stdio.h>
inline int read();
int main()
{
int n;
n=read();
printf("%d\n",n);
return 0;
}
inline int read()
{
int sum=0,flag=1;
char ch;
ch=getchar();
while(ch<'0'||ch>'9')
{
if(ch=='-')
flag=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9')
{
sum=10*sum+ch-'0';
ch=getchar();
}
return flag*sum;
}