#include<stdio.h> main() { int y=3,x=3,z=1; printf("%d%d\n",(++x,y++),z+2) }的值。是怎么运算的?
展开全部
1 本题考查的是逗号表达式知识点,逗号表达式的值是最后一个表达式的值。
2 (++x,y++)这个逗号表达式的值是最后一个表达式y++的值,而y++的值是3。
3 程序最后输出:33
4 第一个3是(++x,y++)这个逗号表达式的值,第二个3是z+2这个表达式的值。
2 (++x,y++)这个逗号表达式的值是最后一个表达式y++的值,而y++的值是3。
3 程序最后输出:33
4 第一个3是(++x,y++)这个逗号表达式的值,第二个3是z+2这个表达式的值。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先哦 printf 那个语句少了个分号~
printf是个输出语句 输出这个%d%d\n
\n是换行
第一个%d指(++x,y++)这个的值 括号是为了区分。重点是 逗号运算。 它 第一步 先把++x的值算出来,从左到右先+1再用x 所以最后++x的值是4。 第二步 把y++的值算出来 从左到右 先用y再+1. 所以y++的值是3。 第三步 把y++的值赋给%d 。 所以第一个%d的值是 3。
第二个%d 1+2=3 所以也是3.
最后输出 33
printf是个输出语句 输出这个%d%d\n
\n是换行
第一个%d指(++x,y++)这个的值 括号是为了区分。重点是 逗号运算。 它 第一步 先把++x的值算出来,从左到右先+1再用x 所以最后++x的值是4。 第二步 把y++的值算出来 从左到右 先用y再+1. 所以y++的值是3。 第三步 把y++的值赋给%d 。 所以第一个%d的值是 3。
第二个%d 1+2=3 所以也是3.
最后输出 33
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
输出(++x,y++)和Z+2的值,其中(++x,y++)就是输出y的值,Y++就是先输出y再自加1,++y就是加1在输出y,x没他什么事;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询