0
点赞
收藏
分享

微信扫一扫

质数函数

非凡兔 2023-06-19 阅读 56

通过学习质数函数了解了++i和i++的区别。++i效率更高。

i++是先用临时对象保存原来的对象,然后对原对象自增,再返回临时对象,不能作为左值;++i是直接对于原对象进行自增,然后返回原对象的引用,可以作为左值。

由于要生成临时对象,i++需要调用两次拷贝构造函数与析构函数(将原对象赋给临时对象一次,临时对象以值传递方式返回一次);

++i由于不用生成临时变量,且以引用方式返回,故没有构造与析构的开销,效率更高。

所以在使用类等自定义类型的时候,应尽量使用++i。

#include <stdio.h>
int main()
{

int n,i,flag = 0;
printf("Enter apositive integer:");

scanf("%d",&n);

for(i=2;i<=n/2;++i)
{
	if(n%i==0)
	{
		flag = 1;
		break;
	}
}

if(flag==0)
{
	printf("%dis a prime number",n); 
}
else
{
	printf("%dis not a prime number",n);
}

return 0;
}


举报

相关推荐

0 条评论