继续救助C++达人

来源:百度知道 编辑:UC知道 时间:2024/06/25 10:04:47
几个小问题
问题已:
#include<iostream>
void main()
{int x=2,y=-1,z=2;
if(x<y)
if(y<0) z=0;
else z+=1;
cout<<z<<endl;
}
答案给的是2,我想知道它这个是怎么算了,详细解释一下,我算出来为3

问题二:
int a=1;
do
{a++}while(a<=10),这段语句哪里错了?
谢谢指导!

#include<iostream>
void main()
{int x=2,y=-1,z=2;
if(x<y) //x>y,以下的语句不执行
if(y<0) z=0; //不执行
else z+=1; //这里也不执行
cout<<z<<endl;
}
答案给的是2,我想知道它这个是怎么算了,详细解释一下,我算出来为3

问题二:
int a=1;
do
{a++}while(a<=10),这段语句哪里错了?
a++后面要有;

#include<iostream>
void main()
{int x=2,y=-1,z=2;
if(x<y)//
if(y<0) z=0;
else z+=1;//else有就近原则,匹配的是if(y<0) z=0;的if
cout<<z<<endl;
}

还有第二个问题
a++后面少了分号
while(a<=10)后面也是一个分号

你这代码写的可读性也太低了。。。

1.因为想x>y,所以z不变,就输出z的值2
2.int a=1;
do
{a++;}while(a<=10);
a++后加;
(a<=10)后加;