C++数组与循环,都跳出循环了,怎么该循环里还在运行哦?
在看到一道程序练习题中编程遇到的问题。
感觉for循环用break;语句中断循环有些问题啊!
#include<iostream>using namespace std;int main(int argc, char *argv[]){int n;cin>>n;int*a=new int[n];int i=0;for (;i<n;i++){ cin>>a[i]; if (a[i]=='m') { break; } cout<<"i:"<<i<<endl;//都跳出循环了,怎么这里还有输出哦?}for (int j=i;j<n;j++)//这里相当于没有运行。{ a[j]=0;}for ( i=0;i<n;i++){ cout<<a[i]<<" ";}system("pause");}std::cout << int('m')<<std::endl; int n; std::cin>>n; int *a=new int[n]; int i=0; for (;i<n;i++) { std::cin>> a[i]; if(std::cin) { if (a[i] == int('m')) { std::cout<<"break"<<std::endl; std::cout << a[i] << std::endl; break; } } else if(!std::cin) { std::cout<<"cin is malfunction"<<std::endl; break; } std::cout<<"i:"<<i<<std::endl;//都跳出循环了,怎么这里还有输出哦? }