ans: True if(ac) given now have same precedence and their associativity is from left to right. initially ac also gives so now 1==1 which is true. == has low precedence compared to relational operators like >,>=,
Relational > Equality operator: -> a c -> (a c) -> ((a c) (Associativity left-right) -> ((10 30) -> ((1)) == (1) -> 1 (true) True block will execute and TRUE will be printed
Answer is True. Seeing all the videos from East Africa , planning to appear for GATE in 2021. I am getting confidence by listening to your lectures. Thank you for your extraordinary work. :)
a).True if(ac) given Now have the same precedence and their associativity is from left to right. Initially, ac also gives so now 1==1 which is true. == has low precedence compared to logical operators like >,>=,
It is the best channel to learn programming , i have watched many other channels , but i was not satisfied , but today I saw this channel and watched few videos and i am satisfied, now I have started to understand everything, thanks a lot
Sir, I am an avg student of cse 😢. I watched ur videos one day before exam the difference between ur channel and other channels is this channel provides deep concept , examples and questions for students. Thank you soo much sir.
very nice channel for learning each concept and logics in C programming. #include #define x printf("THANK U SO MUCH NESO ACADEMY") int main() { x; return 0; }
Comments for myself: Associativity is order of evaluation when expressions have the same precedence, could be left-to-right or vice versa. Postfix increment/decrement has greater precendence than prefix. Associativity of postfix operator is from left to right, while prefix is from right to left. Only the assignment, conditional, and unary operators have an associativity of right to left. Associativity only works of we have more than ONE operators of same precedence. If only one, the behavior is undefined and output is compiler dependent. For the assignment, the output is TRUE
Ans will be true because having same precedence but due to left to right associativity . Here, ac also results 1 and then == will execute which prints true.
so what happen in the last question is that (ac). so there are 2 relational operator and 1 equality operator or u can say (a relational operator b equality operator d relational operator c). so relationall operator has higher precedence and it goes from left to right then (1030), 1030 that s also true (1) then 1==1 true == true that s also true, so TRUE
int main(void) { int a=10, b=20, c=30, d=40; int expr = (a c); printf("%s", expr ? "true" : "false"); return 0; } In this example "true" get printed out. Because, "" operators take precedence over "==" operator, so both "" evaluated first then "==" operator: (10 30) Both (10 30) return true, which it is represented by 1 (or any non-zero), so the expression expanded like that: (1 == 1) Now because of (1 == 1) returns true (non-zero), "true" get printed, otherwise "false" keyword would have been printed.
1. we have a condition expression --> (a c) 2. Relational precedence is higher than equality precedence therefore, . 'b' belong to '' operator ---> (d > c), which return TRUE . according to Associativity order Left to Right: (a C) 3. finally Equality will be evaluated (1 == 1), therefore the if construct will return TRUE
Sir I have a doubt. Could you explain the reason for such behaviour. #include int main() { int a=10; int b= ++a + a++; printf("%d ",b); return 0; } Output : 23 But expected answer is 22 because first postfix will be evaluated then prefix and sum and at last assignment b= 12+10 Sir please explain this.
I just dont understand how the brains of the people who have disliked the vedio work, really I don't just get it. May be undertanding them is more complicated than C language.
if(ac) in this expression left to right associativity is there a30 now 1==40 returns false means 0 now 0>30 returns true means 1 if(1) means true so TRUE will be the answer
At 11:52, in 3rd statement there are 2 operators of same precedence i.e. () nd consist higher precedence than + then associativity should be left to right and hence fun1() should be called first then why it is unpredictable...I don't know if it's silly bt I didn't get it.....plz explain
See that statement very carefully, there are only two operators, () and +. There are two occurences of () but overall there are only two operators to work with, i.e, () and + Associativity comes into picture when there are two or more than two operators of SAME PRECEDENCE. By two ore more operators, it simply means two are more different operators of same precedence. Please make a note of this that two or more *different* operators but of same precedence, then associativity will decide which will be evaluated first. Do you get it now? And it's not silly, actually first look pe ye misconception hona is okay, ho jata hai
@ 14:28 example, Why is Neso Academy bring printed ? 1) variable "a " is an type. 2) The function is returning only 1 not Neso. and why does it return Neso ?
Don't know, because (a c) is also true and return non zero. And finally if(non zero == non zero) sometimes equal or not equal. Therefore I can't predict the answer all times. So it may be compiler dependent.
Output is true, because relation operater will return only true or false, here will perform because it is left to right associative both are returning true and both == same.
Bro you have just commented same thing in almost each lectures I have gone through. By the way those who r disliking may be having more knowledge but if you have more knowledge what the hell r u doing here😂
the answer is TRUE. BECAUSE the relational operators has more precedence than equality operators, so (ac), here same precedence so associativity is from left to right, hence both returns true which means 1==1 and it is also true so the final O/P is; T R U E.....................................
Hi Neso, could u pls explain for me why the output is: 2 1 2 2? as the bellow program: #include int main() { int i = 0; printf(“%d %d %d %d”, i, i++, i, ++i); return 0; }
i=0 According to *precedence of operators,* 1). i++ gives 1. That is i=1. printf("%d 1 %d %d", i, i, ++i) 2). ++i gives 2. That is i=2. printf("%d 1 %d 2", i, i) 3). There is no increments and decrements. i=2 printf("2 1 2 2")
In the first example if fun is variable with value assigned to it as 0 then if the expression is like this " int var = fun++" then why the value of var becomes 0 as ++ has higher precedence than = so var should have the value of 1.
Sir there is no video on type conversion techniques 🙁 Plz post that video sir I've been struck over there Wana comp it N also types of type conversion Implicit n explicit
@4:10 Associativity is from left to right is crct , but in the table of associativity and precedence in the video of arithmetic operators 1st u have written multiplication, division and modulus But at the time mentioned above u did 1st division how is it possible As in the table from gng left to right 1st there is multiplication in table , we should perform multiplication naa 1st🤔 Table is also available after 5 sec of above mentioned time. can anyone clear this ?
**,/,%* have same precedence. Which one does do first? Now it depends on associativity. **,/,%* have same associativity (left to right). So we have to do from left to right. Ex1: 10 / 2 * 5 = 5 * 5 = 25 Ex2: 10 * 2 / 5 = 20 / 5 = 4
ans: True
if(ac) given
now have same precedence and their associativity is from left to right. initially ac also gives so now 1==1 which is true. == has low precedence compared to relational operators like >,>=,
How does ac also....plz reply I really need to know!!!!!!!!!!!!
@@awsomeindia1295 a
@@vishaliravichandran1314 thank u so much for explaining this😄😄
@@awsomeindia1295 sun if some thing is true it return 1
In if condition it is true == true right??
Sir i am a cse student.... C is the 1st language for a cse student... I never forget you in my life
Relational > Equality operator:
-> a c
-> (a c)
-> ((a c) (Associativity left-right)
-> ((10 30)
-> ((1)) == (1)
-> 1 (true)
True block will execute and TRUE will be printed
thanks bhai
@@FireUpBITSPILANI thank you very much
I also did the same but in my mind!
Serving people is serving humanity....nice job luv it
Serving people = serving God .
@@dynxmit3official920 Yay!
@@dynxmit3official920 serving people != serving god
As relational operator has higher precedence a c turns to 1. Therefore 1==1. Hence true will be printed because if block will get executed.
Answer is True. Seeing all the videos from East Africa , planning to appear for GATE in 2021. I am getting confidence by listening to your lectures. Thank you for your extraordinary work. :)
gat me asy question kab aty hen...gat me gk, genral math etc ata zyda
@@kamilmusic9929 ????
@@nagashayanreddy7237 sir gate me programming aati h ?
@@nagashayanreddy7237 bro if you're indian then what're you doing in east africa?
Did you appear for gate bro?
This guy is going straight to haven 🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥
you r rit
Yeah!✨
Yes heaven
We dont go to ravenholm
Fire symbolises hell
Bruh he is alive & saving people why do you want to kill him now 😂 or atleast why speak of his death.
a).True
if(ac) given
Now have the same precedence and their associativity is from left to right. Initially, ac also gives so now 1==1 which is true. == has low precedence compared to logical operators like >,>=,
Thanks!
It is the best channel to learn programming , i have watched many other channels , but i was not satisfied , but today I saw this channel and watched few videos and i am satisfied, now I have started to understand everything, thanks a lot
Assignment answer is: true(as 1030 is also true and both cases are compared with equality operator so it is true.)
Sir, I am an avg student of cse 😢. I watched ur videos one day before exam the difference between ur channel and other channels is this channel provides deep concept , examples and questions for students. Thank you soo much sir.
very nice channel for learning each concept and logics in C programming.
#include
#define x printf("THANK U SO MUCH NESO ACADEMY")
int main()
{
x;
return 0;
}
a30] which is true
ac
True==true
So, output is true😊
Is it correct ??????
Comments for myself: Associativity is order of evaluation when expressions have the same precedence, could be left-to-right or vice versa. Postfix increment/decrement has greater precendence than prefix. Associativity of postfix operator is from left to right, while prefix is from right to left. Only the assignment, conditional, and unary operators have an associativity of right to left. Associativity only works of we have more than ONE operators of same precedence. If only one, the behavior is undefined and output is compiler dependent. For the assignment, the output is TRUE
(ac) presedence:2
== Presidence:3
Answer: true
a=10 , b=20 , c=30 , d=40 ;
( a c)
Explanation :
(10 30)
Here first ...10
Thanks for answering...it helped me to understand ❤️🤝
Neso is best 👍
Luv it..❤your content are really very easy to understand and that question u provide at the end...is a bliss..💓💓keep working like that
Sir please compelete the C programming series it will be useful for our placements....please sir. Your video are really good.Thank you so much sir..
Tq so much i gone theough many websites but this is the 1 which fastly understand and went into my mind 😊😊
16:10 and the answer comes out to be True
thanks Neso❤
you are great sir (: the way you are clear all concepts is awesome please upload more computer science subjects so that we people will helpful.
Thanks a lot sir for these types of great videos...
Hello sir , I don't know u ll see my comment or not but u r god for the students who have eager to learn c language .
the ans is true ,
explanation :-
if(ac)
{
cout
Thank u bro or explanation
Thankyou very much. I have started C programming lectures in Hindi. you are helping me a lot.
You are the real hero sir........ 🙏🙏🙏🙏🙏
Ans will be true because having same precedence but due to left to right associativity . Here, ac also results 1 and then == will execute which prints true.
i can't know how can i thank you
great content ..... thank you very much 💙💙💙💙💙💙
You are the god for many students sir love you ❤️
so what happen in the last question is that (ac). so there are 2 relational operator and 1 equality operator or u can say (a relational operator b equality operator d relational operator c). so relationall operator has higher precedence and it goes from left to right then (1030), 1030 that s also true (1) then 1==1 true == true that s also true, so TRUE
The output of the homework problem is TRUE.👍
this your video is best and is this is fully complete series for gate sir plz tell i am following your series
Superb explanation 👍
int main(void) {
int a=10, b=20, c=30, d=40;
int expr = (a c);
printf("%s", expr ? "true" : "false");
return 0;
}
In this example "true" get printed out. Because, "" operators take precedence over "==" operator, so both "" evaluated first then "==" operator:
(10 30)
Both (10 30) return true, which it is represented by 1 (or any non-zero), so the expression expanded like that:
(1 == 1)
Now because of (1 == 1) returns true (non-zero), "true" get printed, otherwise "false" keyword would have been printed.
as per ac
a belongs to
so precednce applies
(ac)
in this case we have only one operator == so there is no need to apply associativity
Thank you so much, bro, you explain this so well; I'm set for success in my class moving forward
Ans is true....i understand the concept very well☺..thakiieeww soo mch...
The answer for the question is True. Thanks for the great explanation 😍😍
1. we have a condition expression --> (a c)
2. Relational precedence is higher than equality precedence therefore,
. 'b' belong to '' operator ---> (d > c), which return TRUE
. according to Associativity order Left to Right: (a C)
3. finally Equality will be evaluated (1 == 1), therefore the if construct will return TRUE
(2+3)*5 =25 it is correct and it is called distributive property of multiplication over addition, 5*2+5*3=25
✔️
Since the
Sir I have a doubt.
Could you explain the reason for such behaviour.
#include
int main()
{
int a=10;
int b= ++a + a++;
printf("%d
",b);
return 0;
}
Output : 23
But expected answer is 22 because first postfix will be evaluated then prefix and sum and at last assignment
b= 12+10
Sir please explain this.
Answer is True.
Because ,d>c is true that is 1
and a
I just dont understand how the brains of the people who have disliked the vedio work, really I don't just get it. May be undertanding them is more complicated than C language.
if(ac) in this expression left to right associativity is there
a30
now 1==40 returns false means 0
now 0>30 returns true means 1
if(1) means true so TRUE will be the answer
Very well understood everything. Thanks you sir 🤗🤗
Thankyou For these Lectures Sir :)
Thank you so much sir...you defined it with..minute details
everyone underestimates precedence and associativity without knowing that they are the most important topics...
Right
mohit,vai...
i can't memotize this associativity & precedence table. Please help me, if possible
@@tawseeftaher4446 practice bro... Do practice
home works answer is true
thank u so much to give such a great content free of cost
if u work like this so we'll no need of rbr sir paid lecture
true bhai
Exactly, his course is not worth in terms of depth. He just makes everything memorise.
are these lectures better than rbr sir paid lecture? plz tell
one video in 2 day means syllabus finish before gate 2019 we can expect with you thanks
At 11:52, in 3rd statement there are 2 operators of same precedence i.e. () nd consist higher precedence than + then associativity should be left to right and hence fun1() should be called first then why it is unpredictable...I don't know if it's silly bt I didn't get it.....plz explain
See that statement very carefully, there are only two operators, () and +. There are two occurences of () but overall there are only two operators to work with, i.e, () and +
Associativity comes into picture when there are two or more than two operators of SAME PRECEDENCE.
By two ore more operators, it simply means two are more different operators of same precedence. Please make a note of this that two or more *different* operators but of same precedence, then associativity will decide which will be evaluated first.
Do you get it now?
And it's not silly, actually first look pe ye misconception hona is okay, ho jata hai
@@SandhyaSingh-ms6br yeah got it...thanks😊
ans=true;
#include
int main()
{
int a=10,b=20,c=30,d=40;
if (a c)
{
printf("true");
}
else
{
printf("false");
}
return 0;
}
Thank you so so so so so much sir....really helpful and detailed video
thanks for this wonderful video
This the best channel👌👌👌
True is the answer of the homework problem................
@ 14:28 example, Why is Neso Academy bring printed ?
1) variable "a " is an type.
2) The function is returning only 1 not Neso. and why does it return Neso ?
U r awesome Sir doing a great job....
Sir plz make videos on cmos basics and its gate implementation.🙏🙏
Your videos are helping me alot thank you so much🙏🙏😊
You are insane man!! 🔥🔥🔥
good initiative
Don't know, because (a c) is also true and return non zero. And finally if(non zero == non zero) sometimes equal or not equal. Therefore I can't predict the answer all times. So it may be compiler dependent.
No it is not the case, when a given condition becomes true it returns 1,when it is false it returns 0, here 1==1 true is printed.
but in relational operator(==) non zero value is taken as true so, true(any non zero value)== true ,
so result is true..
Very nice explanation, my all doubts get clear.
Excellent
So much attractive content thanks for it. Ans. True
Output is true, because relation operater will return only true or false, here will perform because it is left to right associative both are returning true and both == same.
Ans is true.because in relational operators priority is ,=,==,=! . so according to this priority ans is considered as true
Guys they are providing everything for free and some idots dislikes these types of videos. I think they need mental treatment
They probably would be jealous teachers😟😕
Bro you have just commented same thing in almost each lectures I have gone through. By the way those who r disliking may be having more knowledge but if you have more knowledge what the hell r u doing here😂
True..
As relational operators have higher precedence than equality operator.
Answer of the question of this lession:
True
ac gives true and true = = true so its print True
Sir.u pin correct answers.and I enjoy ur series ❤❤
the answer is TRUE.
BECAUSE the relational operators has more precedence than equality operators,
so (ac), here same precedence so associativity is from left to right,
hence both returns true which means 1==1 and it is also true so the final O/P is;
T R U E.....................................
sir in expression (2+3)*5 ,we must have to solve bracket first then the multiplication should be done, isn't it?
True
Thank you, Sir
Hi Neso, could u pls explain for me why the output is: 2 1 2 2? as the bellow program:
#include
int main() {
int i = 0;
printf(“%d %d %d %d”, i, i++, i, ++i);
return 0;
}
i=0
According to *precedence of operators,*
1). i++ gives 1. That is i=1.
printf("%d 1 %d %d", i, i, ++i)
2). ++i gives 2. That is i=2.
printf("%d 1 %d 2", i, i)
3). There is no increments and decrements. i=2
printf("2 1 2 2")
sir i have a doubt in 14:11 part why there is a 2 in both outputs but in the code there is no 2
please answer my doubt
Tussi great ho Sir ji
if we consider () paranthesis as an operator then there is more than one operator in the expression fun1() + fun2()
@3:48 associativity of * is more than / you only told. Then why here you are saying that associativity of / is more than *
See again
@@AbbaJi-gm4vc can you please explain I have the same doubt
great video!
Great job sir
Sir ,Plz upload more videos on loops,arrays n all the topics of C language, U'r videos are helping me a lotttttt bcozz..Plz..
() has Left to Right associativity.
So why not first fun1() then fun2() will execute always ??
No man,
When both have same precedence,
Compiler work left to right so fun1() will execute first.
@@mr.knight8967
int a, b, c=3;
a = b = c;
Have same precedence.
*It goes from Right to Left,* not Left to Right.
can some plz tell me which video he explain sizeof () ???
Super super,😍😍😍😍
True as all the parenthesis have same associativity...
great teaching sir
In the first example if fun is variable with value assigned to it as 0 then if the expression is like this " int var = fun++" then why the value
of var becomes 0 as ++ has higher precedence than = so var should have the value of 1.
If condition is true
True==True that is
1==1
o/p:True
Why at the end 2 comes at the output of question at 14:38
Ans:True
ac is true which results 1;
but 1==1 is True;
so ans is True
Sir there is no video on type conversion techniques 🙁
Plz post that video sir
I've been struck over there
Wana comp it
N also types of type conversion
Implicit n explicit
Explain various operators with its precedence in c.
Explain various operators in c.
Sir this two questions are same or different
@4:10
Associativity is from left to right is crct , but in the table of associativity and precedence in the video of arithmetic operators 1st u have written multiplication, division and modulus
But at the time mentioned above u did 1st division how is it possible
As in the table from gng left to right 1st there is multiplication in table , we should perform multiplication naa 1st🤔
Table is also available after 5 sec of above mentioned time.
can anyone clear this ?
**,/,%* have same precedence.
Which one does do first?
Now it depends on associativity.
**,/,%* have same associativity (left to right).
So we have to do from left to right.
Ex1: 10 / 2 * 5 = 5 * 5 = 25
Ex2: 10 * 2 / 5 = 20 / 5 = 4
true will be answer
btw sir, do we have to learn the table?