[英]what does the variabel in printf do
Why didn't this code work after adding "res=pow(arr[i],x)"
我希望它像这样打印 "printf("%d * %d = %d \n",i+1,x,pow(arr[i],x));" 代码在我这样打印之前不起作用“printf(”%d * %d = %d \n",i+1,x,res)));"
#include<stdio.h>
#include<math.h>
int main()
{
int arr[5];
for(int i=0 ; i<5 ; i++){
printf("enter the numbers %d\n",i+1);
scanf("%d",&arr[i]);
}
int x;
printf("what is power would you like...\n");
scanf(" %d",&x);
printf("The power of the array elements is...\n");
for(int i=0 ; i<5 ; i++){
printf("%d * %d = %d \n",i+1,x,pow(arr[i],x));
}
return 0; // 1*2=1*1 , 3*2=3*3
}
pow
返回一个双精度值。 第三个参数需要%lf
格式,否则在尝试使用 integer %d
格式格式化浮点值时会出现未定义的行为(大多数编译器会发出有关此 BTW 的警告)。
将结果分配给 integer 可解决该问题。 这就是它起作用的原因(但有时它会导致舍入错误,所以要小心!)
您可以查看integer 功率算法。 pow
更适合浮点运算。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.