+ 22

# [Solved] Is Anwer is 7 or 8?

int x = 15, y = 7; if (++x <= 15 && y++ == 7) { Console.Write(x); } else { Console.Write(y); } It's a challenge question and answer is comig 8. Is it right? https://photos.app.goo.gl/wZJpyPmhqTZzHQhD7 Edited - Sorry I didn't notice. There is single & not &&

4th Apr 2020, 9:57 AM
A͢J
28 ответов
+ 24
8 is correct, because if you take a look at the image, you can see you are applying the binary AND operator, not the conditional AND operator. If you were applying the conditional AND operator, 7 would be correct, because due to Short Circuit Evaluation, the increment of 'y' would never be executed, and it would remain 7. However, with the binary AND operator, both parts are necessarily evaluated, so 'y' is actually incremented, however, the condition is nonetheless false because 0 & 1 => 0. So the else-statement is executed and 8 is printed. You can verify this by running both versions within the SL playground.
4th Apr 2020, 10:07 AM
Shadow
+ 8
In Your Question Output of Code : 7 AJ #Level 20 End Day In that Challenge there is a Bitwise And Operator & and Not a Logical And Operator &&. In Logical (&&) And Operator, if first condition is False ,then Second Condition is not Check. In Bitwise (&) And Operator , weather the first condition is ture or False , second condition is also checked. In that Challenge First ++x<=15 is false and now x=16, because of Bitwise (&) And Operator then second condition y++==7 ,this condition is True now y= 8 In if Statement there is (0 & 1) ,so this is false. and output is 8.
4th Apr 2020, 10:02 AM
ROHIT KANOJIYA
+ 8
AJ #Level 20 End Day , there is difference in your code and the challenge question - you write logical and "&&" instead of bitwise and "&". Bitwise and is the reason for incrementing y.
4th Apr 2020, 10:05 AM
TheWh¡teCat 🇧🇬
+ 5
Jay Matthews It's correct but you didn't notice image and I also. There is single & bitwise operator.
4th Apr 2020, 10:41 AM
A͢J
+ 3
Shadow Thanks I didn't notice.
4th Apr 2020, 10:13 AM
A͢J
+ 2
Vyacheslav Krasnov It's already solved and also your calculation is wrong. Check image also.
5th Apr 2020, 8:55 AM
A͢J
+ 2
Before I saw the code I was worried about a question like that. My intuition was right 🙃
5th Apr 2020, 9:59 PM
Yousef Eabitan
+ 1
8 is right
4th Apr 2020, 9:06 PM
Asif Suhel
+ 1
8 is the answer
5th Apr 2020, 7:54 AM
Charupriya Palaniswamy Rajendran
+ 1
8
5th Apr 2020, 4:18 PM
Mohammad Hossein Shamohammadi
+ 1
8
6th Apr 2020, 5:46 AM
Mohit Nayak
+ 1
8
6th Apr 2020, 7:25 AM
Mandal Vasu
0
8
4th Apr 2020, 12:34 PM
Rajesh Dayasi
0
8 is the Answer
4th Apr 2020, 5:19 PM
Mani Periyasamy
0
8 is the Answer
4th Apr 2020, 9:39 PM
Belazerava Viktoria
0
Answer is 8, because ±±x=16 before and after condition y++=7 before condition, and 8 after condition (16<=15) and (7=7) - false Console.write(y) - 8, because later y++
5th Apr 2020, 8:24 AM
Vyacheslav Krasnov
0
Yes 8 is Correct Answer.
5th Apr 2020, 2:41 PM
Tusar
0
8
5th Apr 2020, 5:16 PM
Varun Kumar. Vidavaluru
0
Very good
5th Apr 2020, 10:01 PM
الصرمي سلوم
0
So because of the && operation variable in the expression the value of y is 8 due to the binary 0-1 output. Otherwise I still would say seven.
6th Apr 2020, 12:55 AM
Carlos Nazario