有人可以解释为什么程序显示6和4吗?

时间:2019-03-23 19:12:33

标签: c++

在这个很简单的问题中,我求和与乘积。我想使用“ for”指令来了解这东西是如何工作的。

> corpus<-tm_map(corpus, lemmatize_strings, dictionary = lexico)
Warning messages:
1: In stringi::stri_extract_all_regex(x, numreg) :
  argument is not an atomic vector; coercing
2: In stringi::stri_extract_all_regex(x, numreg) :
  argument is not an atomic vector; coercing
> corpus[[1]][[1]]
[1] ""

我无法解释为什么总和为“ 6”而乘积为“ 4” ...

有人可以解释一下为什么代码显示了吗? 如果我将大括号中“ for”结构的说明放在大括号之间,则显示“ 6”表示总和,“ 6”表示乘积。

1 个答案:

答案 0 :(得分:1)

首先,它不是< iostream >,而是<iostream>。那里不允许有空格。第二,尽管有缩进,但是p=p*i;for循环之外。 Turn on compiler warnings

prog.cc:7:5: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
    7 |     for (i=1;i<=n;i++)
      |     ^~~
prog.cc:9:10: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
    9 |          p=p*i;
      |          ^

使用{}来解决此问题:

for (i=1;i<=n;i++)
{
         s=s+i;
         p=p*i;
}