按照输出格式写出以下程序的运行结果 main() { int a,b,c; int x=8,y=10; a=(++x==--y) ? --x:++y;
b=x++;c=++y;printf("a=%d,b=%d,c=%d\n",a,b,c);}求详解...
b=x++;
c=++y;
printf("a=%d,b=%d,c=%d\n",a,b,c);}
求详解 展开
c=++y;
printf("a=%d,b=%d,c=%d\n",a,b,c);}
求详解 展开
4个回答
展开全部
够详细了吧,不懂再问……
#include "stdio.h"
int main()
{
int a,b,c;
int x=8,y=10;
a=(++x==--y)?--x:++y;//如果9==9,则a=--x,注意此时x=9,得到a=8 ,最后x=8,而++y没有运行到,故y=9
b=x++; //b=8,运行后x=9
c=++y;//c=10
printf("a=%d,b=%d,c=%d\n",a,b,c);//输出a=8,b=8,c=10
}
#include "stdio.h"
int main()
{
int a,b,c;
int x=8,y=10;
a=(++x==--y)?--x:++y;//如果9==9,则a=--x,注意此时x=9,得到a=8 ,最后x=8,而++y没有运行到,故y=9
b=x++; //b=8,运行后x=9
c=++y;//c=10
printf("a=%d,b=%d,c=%d\n",a,b,c);//输出a=8,b=8,c=10
}
展开全部
++在数据前,则在相关运算之前进行++。++在数据后,则在相关运算后进行++。
a = (++x==--y)?--x:++y;
先对x加1,再对y加1. 然后判断x等于y吗? 若等于, 对x减1,然后将x赋值给a。若不等于,对y加1,然后将y赋值给a。
b=x++;
将x赋值给b,然后对x++。
c = ++y;
先将y加1,再将y赋值给c。
a = (++x==--y)?--x:++y;
先对x加1,再对y加1. 然后判断x等于y吗? 若等于, 对x减1,然后将x赋值给a。若不等于,对y加1,然后将y赋值给a。
b=x++;
将x赋值给b,然后对x++。
c = ++y;
先将y加1,再将y赋值给c。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int a,b,c;
int x=8,y=10;
a = ( ++x == --y ) ? --x:++y;
// ++x==--y是先将x递增,y递减再将x,y比较。
// x递增,y递减后,x = 9, y = 9。
// 所以判断结果为false。
// 所以a==--x。因为此时x已经递增为9了,
// 而这道式子是x先递减再赋给a,x=8
// 所以a=7。
b=x++;
// x先赋值再递增。此时x = 8。所以b = 8。
c=++y;
// y先递增再赋值给c。所以c=10。
printf("a=%d,b=%d,c=%d\n",a,b,c);
// 综上所述,输出结果为:a=7,b=8,c=10
int x=8,y=10;
a = ( ++x == --y ) ? --x:++y;
// ++x==--y是先将x递增,y递减再将x,y比较。
// x递增,y递减后,x = 9, y = 9。
// 所以判断结果为false。
// 所以a==--x。因为此时x已经递增为9了,
// 而这道式子是x先递减再赋给a,x=8
// 所以a=7。
b=x++;
// x先赋值再递增。此时x = 8。所以b = 8。
c=++y;
// y先递增再赋值给c。所以c=10。
printf("a=%d,b=%d,c=%d\n",a,b,c);
// 综上所述,输出结果为:a=7,b=8,c=10
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
b=x++;// b=x; x++;
c=++y;// y++; c=y;
给分
c=++y;// y++; c=y;
给分
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询