【发布时间】:2018-11-01 22:10:19
【问题描述】:
昨天,我必须做一个数学介绍测试,我必须计算求和的基数。我懒得把它写出来,我想我只需要写一个小 C 程序来解决它。我相信这会奏效,因为我做了更复杂的程序,但我就是无法让它发挥作用。
#include <stdio.h>
int main(){
int i = 1;
int n = 2 * i + 1;
while(n <= 36){
printf("%d\n", n);
i++;
}
return 0;
}
理论上应该有“3,5,7,9,...”的序列,但我得到的只是“3,3,3,3,...”。仅当我使用变量 n 时,它才不起作用,如果我在 while 中将其替换为 i,则一切正常。
我错过了什么?
【问题讨论】:
-
因为你的期望很奇怪。你用哪种语言做过更复杂的程序?由于对语言工作方式的这种明显误解,您不会用任何复杂的 C 语言编写太多内容。我看不出用
i替换n会如何产生输出3, 5, 7, 9, ...;它肯定会产生1, 2, 3, 4, ..., 36吗?如果您尝试过替代代码,您应该包含该代码而不是“描述”它。 -
看来我忘了写我是个初学者。我所说的“复杂”是指我编写了更长、更复杂的不同的小型 C 程序(在某种程度上也使用 javascript 和 python)。 PS:感谢您的格式化,但是为什么您将“行为怪异”更改为“行为怪异”的原因是什么?
-
我没有碰过格式,也不记得碰过标题,但我已针对该编辑登录。恢复了,但它仍然是一个糟糕的标题;它的行为一点也不奇怪。 Python 和 Javascript 的行为都不像您在这里所期望的那样。
-
我想我开始修复标题并分心,让它“被破坏”
标签: c for-loop variables while-loop scope