作者a33445500 (能登かわいいよ能登)
看板Examination
标题Re: [考题] C语言
时间Sun Dec 9 14:25:28 2012
※ 引述《jojonina (努力)》之铭言:
: 98身心障碍
: 求以下执行结果
: int i, j=2;
: i=(j=3) && 1 ;
判断i是否等於true前 先注意C语言中的运算顺序
写成这样 i=((j=3) && 1 ) 或许比较可以看出他在语言中运算的顺序
由左至右 括号先运算 (j = 3) 不同於(j > 3)或( j < 3)这类的逻辑判断
前面推文也有人说了 非0就是true
所以经过上面的运算後会变成 i = ( 1 && 1) 即是true 以下类推
: printf("%d %d \ n" , i, j);
1 3
: i=-1 || (j=5);
: printf ("%d %d \n", i, j);
1 3
: i=0 || (j=5);
: printf("%d %d\n", i , j);
1 5
: 这题 该如何下手呢?? 我知先用 逻辑运算子 判断 true 或 false
的确是先用逻辑运算判断true或false 判断结果true的话电脑会回1;false会回0
这三题i值判断都是true 所以都是1
j值都已经给了:第一题j=3 ; 第二题||运算 前一篇推文提到 (-1)已为true
不再看後方判断 ; 第三题 j=5
: 然後 呢??
: 请高手 指点 非常谢谢
对C语言还有问题的话可以去C语言板,高手众多
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 1.160.229.144
1F:→ courts:刚去翻高X的讲义,解答为:1 3, 1 3, 1 5 12/09 17:15
※ 编辑: a33445500 来自: 1.160.229.144 (12/09 18:14)
2F:→ a33445500:已修正 感谢提醒 12/09 18:15