c - 试图了解一个变量在这个小程序中从哪里获得它的值(value)

标签 c

我正在为学校做一个小型项目。这个小程序可以工作并给了我预期的输出,但这对我来说还不够。我坚信真正理解为什么一个程序/代码会做它所做的事情。

我已经尝试将代码分解为伪代码,但我仍然无法理解变量 triangularNumber 的位置。正在从中获取它的值(value)。

程序如下:


#include <stdio.h>

int main(void) {
  printf("This program will calculate the triangular number of n\n");

  double n, sum, triangularNumber;
  triangularNumber = 0;

  printf("Enter (n): ");
  scanf("%lf", &n);

  for (sum = 1; sum <= n; sum += 1)
    triangularNumber += sum;

  printf("The triangular number of %.2lf = %.2lf", n, triangularNumber);

  return 0;
}

所以我的问题是,triangularNumber 在哪里?从中获取值(value)?我用值 0 定义了它,但在最终 printf 中打印时,我看不到它在哪里以及如何获得另一个值。声明。

triangularNumber += sum;对我来说等于triangularNumber = triangularNumber + sum但在我看来,从值(value)观的角度来看,这就像在说0 = 0 + sum。 .如果n的值为 10 , 不会 sum也有值 10

出于礼貌,输入 10 将输出 55​​。

如果有人能为我解释这一点,我将不胜感激,这样我就可以更好地理解我学校的循环。提前致谢。

最佳答案

像这样修改 for 循环:

  for (sum = 1; sum <= n; sum += 1)
  {
    triangularNumber += sum;
    printf("triangularNumber = %d\n", triangularNumber);
  }

然后再运行程序,看看输出结果就明白了。

关于c - 试图了解一个变量在这个小程序中从哪里获得它的值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57606245/

相关文章:

c - 如何根据有多少用户选择再次输入,在C编程中输出时打印do

c - 使用 java/jna 获取硬件信息以在所有操作系统上工作

c - 如何在状态机上使用全局变量

c - 如何在 C 中为素数筛选算法设置可变长度数组?

c - 如何检查索引是否包含符号?

c - 浮点返回值,表示错误

c - switch语句中的变量定义

c - 用 perl 脚本和 c 语言编写的应用程序执行速度很快,为什么?

c - 在 C 程序中包装 Printf 时出现问题

c - 如何/何时在 C 语言中声明函数中的静态变量?