乘以i**在C语言中可能吗?像我++;为什么我**不';你不能在C工作吗?

乘以i**在C语言中可能吗?像我++;为什么我**不';你不能在C工作吗?,c,multiplication,C,Multiplication,在C语言中使用i**可以乘法吗? 例如,我可以使用I++增加I。为什么i**不能在C中工作 #include <stdio.h> int main(void) { int result; for (int i = 2; i < 100; i**){ result = i + 1; printf("%i\n", result); } return 0; } #包括 内部主(空) { int结果; 对于(int

在C语言中使用
i**
可以乘法吗? 例如,我可以使用
I++
增加
I
。为什么
i**
不能在C中工作

#include <stdio.h>
int main(void)
{
    int result;
    for (int i = 2; i < 100; i**){
        result = i + 1;
        printf("%i\n", result);
    }


    return 0;
}
#包括
内部主(空)
{
int结果;
对于(int i=2;i<100;i**){
结果=i+1;
printf(“%i\n”,结果);
}
返回0;
}

可能,但与不起作用的
i**
不同,您需要使用:

for (int i = 2; i < 100; i *= i)
for(int i=2;i<100;i*=i)

不,不可能。与一元增量(
++
)和减量(
--
)运算符不同,C中没有类似于
**
的运算符。你应该试着用
i*=i

乘以
i**
在C语言中可能吗?比如
i++
为什么
i**
不能在C中工作?

不,不可能。对于第二个问题,答案解释如下:, 基本上,增量和减量作为增量前和增量后都有特殊的用法,并且如果有人需要额外的功能,语言就不能被扩展,因为它会因为扩展语法而变慢

所以大多数使用的
++i,i++,--i,i--
都存在,而不是其他

您可以在任务中使用以下代码:

 i*=i;
 =i*i;

通常,乘法运算不用于
for
循环递增/递减部分,因为假设我们的
变量(i)
0
开始,那么每次乘法变为
0

“i++”是“i=i+1”的缩写。 如果有一个“i**”,它的扩展意思是“i=i*1”,而且毫无用处。所以他们从未实施过


即使在编辑以澄清语法之后,从您的问题中仍然不清楚您是否希望“i**”表现为“i=i*i”。我猜这就是你接受的答案的意思。如果你学会向别人清楚地解释事情,你会发现你思考得更清楚,并且可以自己解决许多问题。

原因很简单,因为C语言中没有
**
运算符。i++意味着添加1。我的意思是什么?乘以1?谢谢^)@artmDisagree!如果(i>=2),那么它(i**)是有意义的。但它没有实现,因为我们通常从0或1开始计数。但在这种情况下(i=2或更大),我们可以使用i*=i。我刚开始学习编程。如果你有任何批评请告诉我。这是最好的学习方法。仔细阅读我说的:I++相当于“I=I+1”,因此“I**”相当于“I=I*1”。如果在这种情况下i=2,那么“i**”将等同于“i=2*1”,最终i仍然是2。因此,“i**”变成了一个无用的操作。您似乎打算将“i**”扩展为“i=i*i”,是的,此操作将非常有用。但是你从来没有在任何地方说过。如果你看过的话,你可能会发现“i++”和你建议的“i**”行为之间存在不一致。不一致的行为总是会导致错误。是的,我想应该是“I=I*I”^)非常感谢@AlastairG!我明白了,我错了!那没有意义。。。如果您在循环中进行乘法,当然您会确保从
0
以外的任何内容开始。