gpt4 book ai didi

c++ - 查找整数值并将该值传递给循环中的另一个整数但是整数被重置为初始值

转载 作者:行者123 更新时间:2023-11-30 03:14:26 25 4
gpt4 key购买 nike

找到一个整数值并将该值传递给循环中的另一个整数。但是一旦我移动到循环中的下一个点,整数值就会重置为初始值。我无法找到原因。

#include <iostream>
using namespace std;

int main()
{
int t,n,z=0;
int k=0;
cin>>t;
for(int i=0;i<t;i++){
cout<<"k before="<<k<<endl;
int z=i+2+k;
int k=z;
cout <<"k after="<<k<<endl;
cout <<z<<endl;
}
}

这里,对于 i=0,z=2 和 k=2。但在下一次迭代中,k 再次变为 0。

最佳答案

您正在使用您在 for 循环体内声明的那些隐藏外部 zk。所以“k after”指的是新声明的k,“k before”指的是外部作用域中的那个。

写作

z=i+2+k;
k=z;

在循环中就是修复。

有些编译器会警告您 - 您是否已将警告设置为适当的级别?

关于c++ - 查找整数值并将该值传递给循环中的另一个整数但是整数被重置为初始值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57851623/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com