我有一个程序与bool函数issquare,哪些代码不需要你为我的问题。我有迭代变量T,这是响应多少次我会把squarsized的时间字符串。但是,在字符串程序的第一次输入停止后,在T = 1处,并且不要进行下一次迭代。为什么?为什么周期停止?
int main(){
int T;
std::string line;
std::cin>>T;
int squaresize;
int** arr=new int*[30];
for(int d=0; d<30; d++){
arr[d]=new int[30];
}
for(int i=0; i<T; i++){
for (int d=0; d<30; d++){
for(int d1=0; d<30; d++){
arr[d][d1]=0;
}
}
std::cin>>squaresize;
for(int j=0; i<squaresize; i++){
std::cin>>line;
for(int a=0; a<squaresize; a++){
if (line[a]=='#'){
arr[j][a]=1;
}
}
}
if (issquare(arr, squaresize)==true){
std::cout<<"Case #"<<i+1<<": YES";
}
else{
std::cout<<"Case #"<<i+1<<": NO";
}
std::cout<<T;
}
return 0;
}
中断和添加数据断点来完成。操作员>>是否阅读,直到第一个\ n? – ratkke
@ratkke:不,它直到第一个空格,它可能是'\ n'或可能是空格,制表符,'\ r'等等。以先到者为准。 –
因此,对于我的问题 - >>完全没问题。但是我的阅读线路不在主循环中,所以主循环不依赖于输入线。但主循环停止,这就是问题 – ratkke