C语言问题,求解释

3
int i,j,k;
i=5; j=10; k=1;
printf("%d", k>i<j);

正确答案是:1。

4
写出程序的输出结果:
int i,j,k;
i=2;j=3;
k = i*j==6;
printf("%d\n", k);

正确答案是:1。

5

写出程序的输出结果:
int i,j,k;
i=3;j=2;k=1;
printf("%d", i<j == j<k);

正确答案是:1。

3. k>i<j,先判断k>i,因为k不大于i,这个表达式的值为0,所以(k>i)<j就是判定0<j,因为j = 10,所以这个表达式为真,他的值为1
4.k = i*j==6; i*j与6比较是否相等,因为相等,所以为真,就是1,然后赋值为k
5.i<j == j<k,就((i<j) == ( j<k))这么看,假==假,这么判断就是真了

最好先熟悉下各运算符的优先级,还有>,<,==,>=,<=等运算符的结果不是真就是假,这样就理解了吧
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-06-20
输出的是表达式是否成立 成立显示1,不成立显示0; 3个表达式均成立所以答案都为1追问

为什么成立?我看不是很懂

第2个回答  2014-06-20
否则
{

就(i = 0;我<= N;我+ +)

decasteljau1(P [] [I],M,V0,Q [I]); / /这个地方错了,如果你想要使用的列,然后,声明一个数组,复制到阵列

decasteljau1(Q,N,U0,S);
}