为什么输出m=8,我不理解
#include<stdio.h>
int main(void)
{
int m=10;
m=m^2;
printf("%d",m);
return 0;
}
^在C语言中是异或运算,求幂次方用pow函数
代码修改如下:
#include<stdio.h>
#include <math.h> //pow函数需要使用这个头文件
int main(void)
{
double m=10; //pow函数的第一个参数需要是double类型
m = pow(m,2);
printf("%g",m);
return 0;
}
没有直接的幂运算符,幂幂运算需要pow函数,你这个用的是异或位逻辑运算,10异或2为8,没问题
^是异或符号 1010与0010异或结果是1000,也就是8
求次方你可以直接m*m