快速读入

91 阅读1分钟

快速读入以空格或回车结束的数字

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;
}