gpt4 book ai didi

c - 为什么我在这个程序中使用指针时会得到垃圾? C语言

转载 作者:太空宇宙 更新时间:2023-11-04 06:03:06 25 4
gpt4 key购买 nike

我是一名试图掌握 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);
}

最佳答案

您正在使用 %d 打印 double !试试 %f

printf("Your total change is: $%f\n", change);
printf("Dollars: %f\n", dollar);
printf("Quarters: %f\n", quarter);
printf("Dimes: %f\n", dime);
printf("Nickles: %f\n", nickle);
printf("Pennies: %f\n", penny);

关于c - 为什么我在这个程序中使用指针时会得到垃圾? C语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15537997/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com