-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

次のように配列dniを動的に割り当てています。

dni=(int *) malloc(number*sizeof(int)); 

要素に値を割り当てるのではなく、最後に要素を出力するため、明らかにガベージが出力されます。

于 2012-11-17T16:05:12.377 に答える
0

printステートメントは左揃えです。小数を並べたい場合は、扱う数値のサイズを把握する必要があります。最も簡単な方法は、このように桁数を指定することです。もちろん、6 の代わりに 5 の場所があれば、これは壊れます。

for(x=0;x<k;x++){
printf("%7.2lf\n",*(n+x));}
于 2012-11-18T00:11:50.097 に答える