1

你好我有这个功能

int printofarray(int *j,double *n)
{
int x,k;
k=*j;
if(n==NULL) {
printf("array was not created\n");
return 1;}

for(x=0;x<k;x++){
printf("%.2lf\n",*(n+x));}

return 0;
}

当我使用它时,输出是这样的

34.77
6114.05
410.70

但我想这样写

  34.77
6114.05
 410.70

想法如何?

4

2 回答 2

2

副手,为 f1 尝试 %f 而不是 %lf。编辑: %lf 是双倍的。

于 2012-11-17T00:53:48.077 回答
1

%lf指定读取 a double,但您尝试将结果存储在float大小为一半的 a 中。浮点数的说明符只是%f- 或使用double; 浮点数在现代通用计算机上相当无用。

于 2012-11-17T00:55:58.530 回答