5个回答
展开全部
首先,它是个赋值句X=的问题,i=4.j=16,k=32是逗号表达式,逗号表达式的值是由最后一个逗号表达式决定的,所以(i=4,j=16,k=32)的结果是k=32.
连起来就是X=k=32即k=32.
希望你理解了。再给你举个例子:
就用上面的变量:X=(i=4,i+1,j=3)的结果就是X=3,无论前面有多少个逗号,它只取决于最后一个,但你也不能说不算前面的,运行这条命令后想当于给3个变量赋值了,i=4,中间只是个数,就是4+1但并没有将4+1赋i.j=3.
如果是X=(i=4,i+1,i=8)那么结果就是X=8.
连起来就是X=k=32即k=32.
希望你理解了。再给你举个例子:
就用上面的变量:X=(i=4,i+1,j=3)的结果就是X=3,无论前面有多少个逗号,它只取决于最后一个,但你也不能说不算前面的,运行这条命令后想当于给3个变量赋值了,i=4,中间只是个数,就是4+1但并没有将4+1赋i.j=3.
如果是X=(i=4,i+1,i=8)那么结果就是X=8.
2009-10-21
展开全部
x 值为32
其中 括号的优先级高,先算括号里的,里面是逗号表达式,从左到右依次运算
i的值赋成4,j为16,k为32,逗号表达式的值为最后的一个表达式的值就为32
原式等同于
i=4;
j=16;
k=32;
x=32;
其中 括号的优先级高,先算括号里的,里面是逗号表达式,从左到右依次运算
i的值赋成4,j为16,k为32,逗号表达式的值为最后的一个表达式的值就为32
原式等同于
i=4;
j=16;
k=32;
x=32;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
平行语句执行:从左到右;
赋值语句执行:从右到左。
所以:x=(i=4,j=16,k=32)
执行过程就是:i=4,j=16,k=32,x=k;
答案是:x=32
赋值语句执行:从右到左。
所以:x=(i=4,j=16,k=32)
执行过程就是:i=4,j=16,k=32,x=k;
答案是:x=32
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
结果32
#include<stdio.h>
void main()
{
int x=0,i=0,j=0,k=0;
x=(i=4,j=16,k=32);
printf("%d",x);
}
#include<stdio.h>
void main()
{
int x=0,i=0,j=0,k=0;
x=(i=4,j=16,k=32);
printf("%d",x);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询