0
#include <stdio.h>

int main()
{       
    printf("how old are you? ");
    int age = 0;
    scanf("%d", age);

    printf("how much does your daily habit cost per day? \n");
    int daily = 0;
    scanf("%d", daily); 

    double thisyear = daily * 365;

    printf("\n");
    printf("this year your habit will cost you: %.2f", thisyear);

    return 0;
}

这是我的学校计划,当我写这篇文章时,我试图让用户 1,给出他们的年龄和 2,他们的日常生活费用。但是当我运行它时我的程序会崩溃

4

3 回答 3

3

scanf("%d", 每天);

需要成为

scanf("%d", &daily);

您需要将变量的地址(即指针,这是用 完成的&)传递给,scanf以便可以更改变量的值。这同样适用于您的其他提示。将其更改为

scanf("%d", &age);

现在当你运行你的程序时你应该得到这个:

% a.out
how old are you? 30
how much does your daily habit cost per day? 
20

this year your habit will cost you: 7300.00
于 2012-06-03T03:02:11.977 回答
1

scanf 函数需要一个指针。

scanf("%d", &age);

同样适用于您在“每日”上扫描的那一行。

于 2012-06-03T03:01:09.713 回答
0

scanf 使用对变量的引用

printf("how old are you? ");
int age = 0;
scanf("%d", &age);

printf("how much does your daily habit cost per day? \n");
int daily = 0;
scanf("%d", &daily); 

double thisyear = daily * 365;

printf("\n");
printf("this year your habit will cost you: %.2f", thisyear);
于 2012-06-03T03:02:54.387 回答