在这个很简单的问题中,我求和与乘积。我想使用“ 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”表示乘积。
答案 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;
}