其中有点代码看不明白,求帮忙
程序代码:
#include <iostream> using namespace std; int main() { const size_t st=3; int ia[st],ib[st]; //enter ia cout<<"Enter ia:"<<endl; for(size_t i=0;i!=st;++i) cin>>ia[i]; cout<<"Enter ib:"<<endl; //enter ib; for(size_t i=0;i!=st;++i) cin>>ib[i]; //compare ia and ib for(size_t i=0;i!=st;++i) if(ia[i]!=ib[i]) {cout<<"ia not equals to ib"<<endl; return -1;} cout<<"ia equals to ib"<<endl; return 0; }
这段代码的作用也比较明显,就是从键盘输入两个数组,程序判断两个数组是否相等.不过还是有点不明白代码这么写
假如输入的结果是不相等的,ia[i]!=ib[i]成立,会执行花括号里面的内容,那为什么后面那句cout<<"ia equals to ib"<<endl;是怎么做到不执行的;
我试着改成这样:
for(size_t i=0;i!=st;++i)
if(ia[i]!=ib[i])
{cout<<"ia not equals to ib"<<endl;
return -1;}
else
{cout<<"ia equals to ib"<<endl;
return 0;}
问题来了,假如我分别输入 1 2 3 和 4 5 6,就会输出三段ia not equals to ib(原来的代码就输出一段)
高手帮帮忙,怎么理解原来那段代码