#include <stdio.h>
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
int i;
i = 2;
printf("%d %d %d\n", i,pow(i,2),pow(i,3));
return 0;
}
/ * 我希望输出为2,4,8。但显示的输出是2 0 1074790400。任何人都可以解释我的原因...? * /
答案 0 :(得分:5)
您正在使用的pow
重载的返回类型为double
,因此由于无效的printf
格式说明符,代码的行为未定义。