【问题标题】:The scanf don't store my sum [closed]scanf 不存储我的总和 [关闭]
【发布时间】:2017-06-13 14:37:31
【问题描述】:

当代码运行时,我的 scanf 不显示总和,只是 0.00000000。

我不知道问题出在哪里。

int main() {

float A, B;
float R = A+B;


printf("Digita o valor A:  ");
scanf("%f",&A);
printf("Digite o valor B:  ");
scanf("%f",&B);
printf("A soma de %f e %f foi igual a: %f",A,B,R);

return 0; }

【问题讨论】:

  • 您必须在输入A 和B 的值后计算总和。你(不)幸运它显示为零; R 的值是两个未初始化值之和;它可以是任何东西。
  • 第一个问题是float R = A+B。这是未定义的行为,因为您没有初始化 A 或 B
  • 指令按顺序执行。
  • 我认为这是唯一的问题@yano
  • C 不像数学 ;)

标签: c printf scanf


【解决方案1】:

下面是正确的方法。您在初始化时添加了两个变量“A”和“B”,最初“A”和“B”具有垃圾值,添加到“R”。但是您在添加后使用 scanf 从用户那里获取值。因为不会影响加法。

int main() {
    float A, B;
    float R;
    printf("Digita o valor A:  ");
    scanf("%f",&A);
    printf("Digite o valor B:  ");
    scanf("%f",&B);
    R = A+B;
    printf("A soma de %f e %f foi igual a: %f",A,B,R);
    return 0;
}

【讨论】:

  • 2 赞成这个?没有解释,什么都没有,对于初学者来说,这是一个糟糕的问题......
【解决方案2】:

请尝试以下代码。

int main() {

    float A, B;
    float R;

    printf("Digita o valor A:  ");
    scanf("%f",&A);
    printf("Digite o valor B:  ");
    scanf("%f",&B);
    R = A+B;
    printf("A soma de %f e %f foi igual a: %f",A,B,R);

    return 0;
}

【讨论】:

    猜你喜欢
    • 2018-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多