有人可以解释一下为啥pow在这种情况(只有以下的情况,转int不会,试了俩编译器)下调用多次会成这样吗,调试题目的时候发现的。
#include <stdio.h>
#include<math.h>
int main(void)
{
int n=5;
long long int a=(long long int)pow((double)10,((double)n))-1;
long long int b=(long long int)pow((double)10,((double)n))-1;//直接复制的上一行,改了一个a,,,
printf("a=%d,b=%d",a,b);
}