首页 > 解决方案 > 在 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)

标签: cprintf

解决方案


您缺少一个“&”。Scanf 要求您将指针传递给要读取的变量。

scanf("%lf", &value);

推荐阅读