【发布时间】:2020-01-10 16:49:49
【问题描述】:
我正在使用嵌套的for 循环来解决给定的问题。
我有 4 个整数要声明:i(用于外部循环的初始化)、j(用于内部循环的初始化、s(用于显示系列的总和)和term(用于查找系列中的术语值)。到目前为止,我还可以。我没有得到的是分配 s 和 term 与值 0 的必要性。
另外,为什么是term = term +j 和s = s+term?
int i,j,n,s,term;
s= 0;
for(i=1; i<=n; i++) {
term=0;
for(j=1; j<=i; j++) {
term = term +j;
}
s = s+term;
}
【问题讨论】:
-
您能否详细说明您的问题?如果
s和term未设置为0,您认为会发生什么?您期望什么而不是后面的两个分配? -
直到这里(循环)都没有为变量赋值的要求。因此,我有这个问题。我对编程非常陌生。以及堆栈溢出。所以,如果我在使用网站时出现失误,请原谅。
-
那你应该读一些 C 的入门书,一些可能的选择见this list。如果您有具体问题,请在此处提问。
-
“直到这里(循环)都没有为变量赋值的要求。”那不是真的。在读取变量之前,您总是必须为其赋值。对于您以前的所有主题/作业/教科书章节,这已经是正确的。但你可能没有注意到,因为它总是隐含地发生。如果您在初始化/写入变量之前读取过它,那么您很容易受到“未定义行为”(查找它)的影响,并且您不会喜欢它。 (严格来说,全局变量是一个例外。但是,使用它们是一个单独的不鼓励概念。)
-
我从寻找两个整数之和的编程开始。其中“sum”是变量,并且程序是在没有赋值的情况下编写的。但正如您可能建议的那样,它可能已经隐式完成。我没有意识到这一点。你认为 sum 在这样一个程序中的价值是什么?