#include <stdio.h> void main() { int x,y,z; x=y=1;z=x++,y++,++y; printf ("%d%d%d",x,y,z); }
#include<stdio.h>voidmain(){intx,y,z;x=y=1;z=x++,y++,++y;printf("%d%d%d",x,y,z);}为什么最...
#include <stdio.h>
void main()
{
int x,y,z;
x=y=1;z=x++,y++,++y;
printf ("%d%d%d",x,y,z);
}
为什么最后运行结果为231 我主要想知道为什么z=1谢谢!我是这么想的后面x++,y++,++y是逗号 应该是++y的值 应该是3 展开
void main()
{
int x,y,z;
x=y=1;z=x++,y++,++y;
printf ("%d%d%d",x,y,z);
}
为什么最后运行结果为231 我主要想知道为什么z=1谢谢!我是这么想的后面x++,y++,++y是逗号 应该是++y的值 应该是3 展开
6个回答
展开全部
这个是逗号运算符优先级的问题。
你可以试试
z=(x++,y++,++y);
结果就不一样了~~
你可以试试
z=(x++,y++,++y);
结果就不一样了~~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你把z=x++;
改成x++;
z=x;
就可以了。。。
z=x++应该是先把x的原始值1赋予z,再让x=2
改成x++;
z=x;
就可以了。。。
z=x++应该是先把x的原始值1赋予z,再让x=2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
逗号运算符的级别最低,比等号还低
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
x++是先赋值再+1;++x是先+1再赋值。这么说明白否?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询