【c语言 优先级与结合性 高分悬赏】 main() {int n=1;printf(“%d %d %d\n”,n,++n,n--);}等详情见下
main(){intn=1;printf(“%d%d%d\n”,n,++n,n--);}A.111B.122C.123D.121可我在VC6里运行了一下,答案是221.为...
main()
{int n=1;
printf(“%d %d %d\n”,n,++n,n--);
}
A.1 1 1
B.1 2 2
C.1 2 3
D.1 2 1
可我在VC6里运行了一下,答案是2 2 1.为什么呀?
类似的还有
以下程序的输出结果是____。
main()
{ int n=1;
printf("%d %d %d\n",n,n++,n--);
}
A.1 1 1
B.1 0 1
C.1 1 0
D.1 2 1
我运行了一下是1 1 1
答案是B。
为什么呀?
谢谢哦。
请给出详细的解答,我是菜鸟。谢谢 展开
{int n=1;
printf(“%d %d %d\n”,n,++n,n--);
}
A.1 1 1
B.1 2 2
C.1 2 3
D.1 2 1
可我在VC6里运行了一下,答案是2 2 1.为什么呀?
类似的还有
以下程序的输出结果是____。
main()
{ int n=1;
printf("%d %d %d\n",n,n++,n--);
}
A.1 1 1
B.1 0 1
C.1 1 0
D.1 2 1
我运行了一下是1 1 1
答案是B。
为什么呀?
谢谢哦。
请给出详细的解答,我是菜鸟。谢谢 展开
2个回答
2015-01-09
展开全部
++i 和 i++,在单独使用时,就是 i=i+1。 而 a = ++i,相当于 i=i+1; a = i; 而 a = i++,相当于 a = i; i=i+1
第一题:先执行++n 此时n=2, 所以输出 2,2,1
第二题:a=n++相当于a=n n=n++ 所以输出1,1,1
第一题:先执行++n 此时n=2, 所以输出 2,2,1
第二题:a=n++相当于a=n n=n++ 所以输出1,1,1
更多追问追答
追问
第一题为什么先执行 ++n呀?
第二题 n=n++后,在输出n--的时候,n的值不是变成了2 吗?
谢谢哦
追答
因为++n的是3个式子里优先级最高的
第二题是这样的:
printf("%d %d %d\n",n,n++,n--);// 相当于 printf("%d %d %d\n",n,n,n);; 再 n=n+1,n=n-1;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询