44问答网
所有问题
int a=3,b=4,c=5,d=2; if(a>b) if(b>c) printf("%d",d+++1); else printf("%d",++d+1); printf("%d\n",d);
这是C语言题,我想知道结果的原因,先谢谢了哈
举报该问题
推荐答案 2012-07-25
int a=3,b=4,c=5,d=2; if(a>b) 如果a>b才执行下面的 不大于就不执行
if(b>c) printf("%d",d+++1); else printf("%d",++d+1); 这两句if-else不执行
printf("%d\n",d);输出2
追问
恩,是这样,我在vc++ 6.0 上试,把a的值改成5,结果竟然有两个,why?
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://44.wendadaohang.com/zd/V33RGYWDK.html
其他回答
第1个回答 2012-07-25
运行结果:
4
3
相似回答
...{int
a=3,b=4,c=5,d=2;
if (a
>
b)
if (a>
c)
printf(
"
%d
"
,d++
...
答:
整理一下:main(){ int
a=3,b=4,c=5,d=2;
if (a
>b){ if (a>
c)
printf(
"%d"
,d+++1);
else printf("%d",++d+1); }
printf (
"%d", d);}由于a>b为假,所以if里的语句都不执行,最后输出2
main
()
{int
a=3,b=4,c=5,d=2;if(a
>
b)if(b
<
c)printf(
“
答:
应该是if的嵌套
if(a
>b) //这一步不满足,程序跳过
if(b
<
c)printf(
"%d"
,d+++1);
else //不知道你的else写在哪里,如果跟if(b<c)匹配,那么else程序是不会走的,如果跟第一个if匹配结果有了,下面有 printf("%d",++d+1)
;printf(
"%d\n",d);运行结果:2 ...
...void main
()
{
int
a=3,b=4,c=5,d=2;
if(a
>
b)
if(c
>b) cout<<
d++
...
答:
include<iostream.h> void main() {int a=3,b=4,c=5,d=2; if(a>b) if(c>b) cout<<d++ +1; else cout++d+1;cout<<d<<endl;为什么结果是2啊 else和离自己最近的一个
if
组成一个if-else判断语句 而执行这个语句前提是上面的if为真 因为这个if为假所以没有执行下面的 直接打印了d...
...void main
()
{
int
a=3,b=4,c=5,d=2;
if(a
>
b)
if(c
>b) cout<<
d++
...
答:
这样分一下,把该加的大括号加上就好看些了。include<iostream.h> void main(){
int
a=3,b=4,c=5,d=2;if(a
>b) //a<b,不成立,输出d {
if(c
>b) cout<<
d++ +1;
else cout<<++d+1;} cout<<d<<endl;}
大家正在搜
int a=3,b=4,c=5
int a=3,b=2,c=1
int a=0,b=0,c=0
int a=b=c=5
a=b b=c 所以a=c
!(a>b)&&!c||1
while(a
若想定义int型变量abcd
d=(a>b>c)
相关问题
main(){int a=3,b=4,c=5,d=2;if(...
int a=3,b=4,c=5,d=2; if(a>b) i...
main() { int a=5,b=4,c=3,d=2; ...
void main() {int a=5,b=4,c=3,d...
int a=5,b=4,c=3,d; d=(a>b>c); ...
main() [ int a=5,b=4,c=3,d; d=...
main() { int a=5,b=4,c=3,d=2; ...
main() {int a=5,b=4,c=3,d; d=(...