#include<iostream> using namespace std; int main() { int a[10],b[10]; for (int i=0; i<10; i++) {

a[i]=i*2-1;

b[10-i-1]=a[i];

}

for (int i=0; i<10; i++) {

cout<<"a["<<i<<"]="<<a[i]<<" ";

cout<<"b["<<i<<"]="<<b[i]<<endl;

}

return 0;

}

这个为什么执行不了啊,哪里错了吗。

#include <iostream>
usingnamespacestd;
intmain()
{
inta,b,c,d;
a=c=0;b=1;d=20;
if(a) d=d-10;
else if(!b)
if(!c) d=15;
else d=25;
cout<<d<<endl;
return0;
}

这样写应该就很容易看懂了!
注意是int作为bool值时,0为假,非0为真,运行结束d的值没有变化,仍为20

#include <iostream>
usingnamespacestd;
intmain()
{
inta,b,c,d;
a=c=0;b=1;d=20;
if(a)
d=d-10;
else
if(!b)
if(!c) d=15;
else d=25;
cout<<d<<endl;
return0;
}
1.和2.的句子 为什么可以作为 if(!b)下的一个语句
{也就是说为什么 两个语句可以作为一个语句}

之所以可以作为一个语句,是因为程序块的内部是if-else语句,else 是和离它最近且未和任何 else 配对的 if 进行配对的,虽然没有使用{}进行限定,但是由于默认的if-else配对关系,会自动将if(!b)里面的if-else配对,当作一个块执行!
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-03-01

没有问题吧!

追问

我这为什么不行呢

追答

是不同编译器的问题,VC6.0不支持 for (int i=0;i<10;i++)这种定义格式,把i的定义放在外边就好了。改成int i;for (i=0;i<10;i++)就行了。

本回答被提问者和网友采纳
第2个回答  2016-05-23
#includeusingnamespacestd;intmain(){inta,b;cin>>a>>b;b=a+3;cout<