c - 在 scanf() 之后调用 printf() 不会返回任何内容
问题描述
我正在尝试学习 C,并从构建一个简单的零钱计算器开始。目前,我只是尝试获取用户输入8.68
并输出它,输出 loonies 并输出 Quarters。但是,最后 3 个printf()
调用什么也不返回:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void){
double value = 0;
int loonies = value;
double remainder = value - loonies;
printf("Please enter the amount to be paid: $");
scanf("%lf", value);
printf("%lf", value);
printf("%d", loonies);
printf("%lf", remainder);
}
这是输出。提示要求用户输入,然后程序结束:
Please enter the amount to be paid: $8.68
Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)
解决方案
您缺少一个“&”。Scanf 要求您将指针传递给要读取的变量。
scanf("%lf", &value);
推荐阅读
- javascript - 使用 JS Buy SDK 合并 Shopify 购物车
- angular - 清理代码的最佳方法
- javascript - 如何创建格式为“2008:05:30 15:56:01”的日期
- java - FASTQC 在命令行上运行,但不在 python 子进程中(Java 异常)
- android - SQLite addData 不能应用于给定类型
- javascript - 下拉物化不起作用(没有下拉)
- c# - 如何使用 LINQ 将表值与对象列表的属性值进行比较?
- css - 如何在 Visual Studio 中的 .cshtml 文件中属性 CSS 文件并使用 Azure 部署
- javafx - ControlsFx 通知将填充添加到应用程序中
- python - 如何在 django 中指定日期范围