![]() |
#2
寒风中的细雨2012-10-16 20:06
|

#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;
}
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(原来的代码就输出一段)
高手帮帮忙,怎么理解原来那段代码