我从scanf()的输入未存储

时间:2018-08-08 10:10:42

标签: c

#include <stdio.h>
#include <conio.h>

int main ()
{
  int pq1, pq2;
  float ptq;

  ptq = pq1 + pq2;

  printf ("\t-Prelims-\n");
  printf ("Grade from Quiz #1?\n");
  printf ("Grade from Quiz #2?\n");

  gotoxy (36, 4);
  scanf ("%d", &pq1);
  gotoxy (36, 5);
  scanf ("%d", &pq2);

  printf ("Your grades from prelims is %.2f", &ptq);

  return 0;
}

我在scanf中的输入未保存,并且在prelims中的成绩始终显示0.00,并且没有计算。

pls帮助。我是这个的初学者。

4 个答案:

答案 0 :(得分:4)

首先声明变量;

webpack.config.js

然后您尝试计算总和

int pq1, pq2;

然后阅读用户输入。有点乱了。

尝试在扫描后求和

ptq = pq1 + pq2;

答案 1 :(得分:1)

C是一种过程语言,因此各行接一个地执行。在阅读它们后必须使用这些值

int main ()
{
  int pq1, pq2;
  float ptq;

  ptq = pq1 + pq2; // this is undefined as you have not set a value for pq1, pq2

  printf ("\t-Prelims-\n");
  printf ("Grade from Quiz #1?\n");
  printf ("Grade from Quiz #2?\n");

  gotoxy (36, 4);
  scanf ("%d", &pq1);
  gotoxy (36, 5);
  scanf ("%d", &pq2);

  // now you have values for pq1 and pq2, so this is where you should be using them

  printf ("Your grades from prelims is %.2f", &ptq); // here you should be using the value of ptq not its address, as we are outputting it not asking the function to fill it in.

  return 0;
}

答案 2 :(得分:1)

您声明pq1pq2而不指定其值。然后,您定义ptq = pq1 + pq2,以便ptq不会真正存储任何需要的值。使用scanf()后,您的pq1pq2会更改,但ptq不会。

您需要在ptq之后计算scanf()

ptq = pq1 + pq2;

答案 3 :(得分:0)

您正在添加数字,甚至无法从用户那里获得它。

resultIterationBatchSize

在scanf之后移动以上行。

  ptq = pq1 + pq2;