Naw*_*waz 5 c++ for-loop declaration
我想写一个for循环,如下所示; 在初始化部分,我想声明不同类型的变量:
for (int loop=0, long result = 1; loop <= 10 ; loop++, result *= 2 )
{
cout << "2^"<<loop<<"=" << result<<endl;
}
Run Code Online (Sandbox Code Playgroud)
但它给出错误,意味着它是不允许的.任何解决方案?
Han*_*ant 21
不要写这样的代码.它是速度碰撞代码,有人会在某一天阅读这篇文章然后去哇!并且失去了5分钟的生命,试图找出你为什么这样做.那是他永远不会回来的5分钟,你将无缘无故地欠他.
如果限制结果的范围非常重要,那么使用额外的大括号:
{
long result = 1;
for (int loop = 0; loop <= 10; loop++)
{
cout << "2^" << loop << "=" << result << endl;
result *= 2;
}
}
Run Code Online (Sandbox Code Playgroud)
现在把它放在最上面,你不仅可以编写可读代码而且可以重复使用代码:
void printPowersOfTwo(int from, int to)
Run Code Online (Sandbox Code Playgroud)
就好像你试过:
int loop=0, long result = 1;
Run Code Online (Sandbox Code Playgroud)
其他地方.
你可以这样做:
for (struct { int loop; long result; } vars = { 0, 1};
Run Code Online (Sandbox Code Playgroud)
但是不要