C语言小问题请高手帮助答疑 printf ("%d,%d\n", i==5 && c && (j=8), x+y || i+j+k); 中的j=8代表什么? 10

#include<stdio.h>intmain(){charc='k';inti=1,j=2,k=3;floatx=3e+5,y=0.85;printf("%d,%d\... #include <stdio.h>
int main ()
{
char c = 'k';
int i = 1, j = 2, k = 3;
float x = 3e+5, y = 0.85;

printf ("%d,%d\n", !x*!y, !!!x);
printf ("%d,%d\n", x || i && j-3, i<j && x<y);
printf ("%d,%d\n", i==5 && c && (j=8), x+y || i+j+k);
printf ("%d\n", j);

return 0;
}

/*
output result
______________
0,0
1,0
0,1
2_____________
*/
展开
 我来答
百度网友fd104b60d
2016-11-28 · TA获得超过330个赞
知道小有建树答主
回答量:293
采纳率:100%
帮助的人:131万
展开全部
i==5 && c && (j=8), x+y || i+j+k这两个都是条件表达式,结果不是0就是1
j=8是对j赋值,使j的值为8
由于i不等于5,所以第一个表达式的值为0,并且由于短路的问题,j=8这个条件不会被执行
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式