问题描述
- C++问题,求大神解答,急
-
#include
using namespace std;
int main()
{int sum=1;for(int sum=1,i=0;i<4;i++,sum++) { for(int j=0;j<i;j++) sum+=1;} cout<<sum<<endl;
}
这个答案等于1#include
using namespace std;
int main()
{int sum=1;
for(int i=0;i<4;i++,sum++) { for(int j=0;j<i;j++) sum+=1;} cout<<sum<<endl;
}
这个答案等于7为什么在for 语句里面定义sum会出现问题
解决方案
第一个程序、应该是生命周期的问题、for循环内的sum结束后死亡、所以打印的是外部的sum
解决方案二:
求大神帮解答javaEE这个问题,谢谢了
解决方案三:
你的for循环上面那一行已经定义了int sum=1;这时你的for只需要这样写 for( ; i=0;i<4;i++,sum++){} 就可以了.
解决方案四:
只是来围观,啦啦啦啦啦了
解决方案五:
1.前者等于1,输出的是main函数定义的sum,循环中定义的sum在输出的时候已经过期了。
2.后者的sum就是正常技术算输出了。
解决方案六:
你第一个程序已经出错了,可能你的编译器没有报错 . 在for外面,sum的生命周期已经结束了
解决方案七:
第一个sum作用域在main函数,第二个sum只在该循环内使用。
所以第一个程序输出的是第一个sum=1;
第二个程序输出的是for循环求和后,是7;
时间: 2024-07-28 12:48:20