C++ 我想打印一个图案,但当我在其中定义col变量时,它';它正在工作,但当我在循环之外定义它时';It’他没有给出正确的otp

C++ 我想打印一个图案,但当我在其中定义col变量时,它';它正在工作,但当我在循环之外定义它时';It’他没有给出正确的otp,c++,C++,我想打印一个模式,但当我在工作时在内部定义col变量,但当我在循环外部定义它时,我没有得到想要的输出。 请解释一下。 我想要这个图案 1 23 456 78910 此代码提供所需的输出 #include<iostream> using namespace std; int main(){ int n; cin>>n; int row=1,val=1; while (row<=n) { int col=

我想打印一个模式,但当我在工作时在内部定义col变量,但当我在循环外部定义它时,我没有得到想要的输出。 请解释一下。 我想要这个图案

1 23 456 78910 此代码提供所需的输出

#include<iostream>
using namespace std;
int main(){
    int n;
    
    cin>>n;
    int row=1,val=1;
    while (row<=n)
    {
        int col=1;
        while(col<=row){
            cout<<val;
            val=val+1;
            col=col+1;
            
        }
        cout<<endl;
        row=row+1;
    }
    
}
#include<iostream>
using namespace std;
int main(){
    int n;
    int col=1;
    cin>>n;
    int row=1,val=1;
    while (row<=n)
    {
        
        while(col<=row){
            cout<<val;
            val=val+1;
            col=col+1;
            
        }
        cout<<endl;
        row=row+1;
    }
    
}
#包括
使用名称空间std;
int main(){
int n;
cin>>n;
int行=1,val=1;

而(row您没有在循环中初始化
col


之前尝试
col=1
while(col在第二个示例中,在内环的整个旋转之后,哪段代码会将
col
重置回
1
?一旦它等于
row+1
,它将保持等于
row+1
。在内环中打印
col
的值以查看差异,或者最好使用调试器