求两个数的平均值。
方法1:
方法2
![](https://i-blog.csdnimg.cn/blog_migrate/1eed039db8ed1abc6d3a62cd7a77eacf.png)
#include<stdio.h>
#pragma warning(disable:4996)
void average(int a, int b)
{
//方法1
//int result = a + (b - a) / 2;//两个变量的相同部分+不同部分/2==average
//方法2
int result = (a&b) + ((a^b) >> 1);//a&b==变量相同部分;a^b==不同部分;>>1==/2;
printf("%d\n",result);
}
int main()
{
int a, b;
printf("PLease input two numbers:\n");
scanf("%d%d",&a,&b);
average(a, b);
system("pause");
return 0;
}
![](https://i-blog.csdnimg.cn/blog_migrate/bda077b83a93b08fbccd0d47dca72170.png)