char *format_double_trans_amount(double amount)
{
char amount_array_n[25];
strcpy(amount_array_n,"");
printf("\nInitial value ***** %s",amount_array_n);
printf("\nDouble amount ***** %f",amount);
sprintf(amount_array_n,"%1f",amount);
printf("\nFinal ........ %s", amount_array_n);
printf("\nReturn ---- %s",amount_array_n);
return amount_array_n;
}
int main()
{
printf ("\nformat_format_double_trans_amount: %s ************", format_double_trans_amount(1000.123400));
}
主要方法的結果給出了轉儲值有人可以幫我一下嗎? 輸出:雙值錯誤
初始值*
雙人量* 1000.123400
最終........ 1000.123400
返回---- 1000.123400
format_format_double_trans_amount:/ò#($$Ð/Òð
'/指向/'指向/' – 2011-04-30 07:05:54
否i char char_array_n [25];減少像amount_array_n [12]的值;它給出了結果? – jcrshankar 2011-04-30 07:05:59
@jcrshankar - 這是未定義的行爲。該標準說它可以做任何事情。代碼似乎可以正常工作,但這並不正確。 – 2011-04-30 07:09:10