我是一名C++程序員,想要掌握C語言的語法,並且我不明白爲什麼當我在此函數中使用指針時會得到垃圾值。當我在這個程序中使用指針時,爲什麼我會得到垃圾? C語言
#include<stdio.h>
#include <math.h>
void separate(double, double *dollar, double *quarter, double *dime, double *nickle, double *penny);
int
main(void)
{
double amount = 38.39, change, paid = 40.0, dollar, quarter, dime, nickle, penny;
change = paid - amount;
separate(change, &dollar, &quarter, &dime, &nickle, &penny);
printf("Your total change is: $%d\n", change);
printf("Dollars: %d\n", dollar);
printf("Quarters: %d\n", quarter);
printf("Dimes: %d\n", dime);
printf("Nickles: %d\n", nickle);
printf("Pennies: %d\n", penny);
getchar();
return (0);
}
void separate(double change, double *dollar, double *quarter, double *dime, double *nickle, double *penny)
{
double coins;
coins = change - floor(change);
*dollar = floor(change);
*quarter = coins/25;
coins = coins - (*quarter * 25);
*dime = coins/10;
coins = coins - (*dime * 10);
*nickle = coins/5;
*penny = coins - (*nickle * 5);
}
在所有變量中獲取垃圾或僅更改? – Skeen 2013-03-21 01:43:42
什麼是「垃圾」,你期待什麼輸出? – 2013-03-21 01:45:41
%d是整數的說明符。 – UncleO 2013-03-21 01:51:18