此代码有什么问题?
while (b2.IsBusy)
{
if (b2.CancellationPending)
{
e.Cancel = true;
break;
}
}
由于使用的格式说明符是整数,它应该给出一个整数值。但事实并非如此。为什么这样?
输出 - 0
预期产量 - 1024
答案 0 :(得分:5)
pow
返回double
。您使用错误的说明符来打印double
值。这将调用未定义的行为,您可能会得到预期或意外的结果。请改用%f
。
printf("%f", pow(2, 10));
答案 1 :(得分:4)
pow
中的<math.h>
函数返回double
类型。
double
的格式说明符为%f
。您使用了错误的说明符,因此您的程序会导致undefined behaviour。从字面上看,任何事情都可能发生。
要解决此问题,请改用%f
。
顺便说一句,如果你想用2
整数来计算10
的幂1 << 10
,你可以写int[] x = {1, 2, 3, 4};
int[] y = x;
。
答案 2 :(得分:1)
施放到int
Intent in = new Intent(getActivity(), Opening_Activtiy_Name().class);
getActivity().startActivity(in);