Precedence and Associativity of Operators

Поділитися
Вставка
  • Опубліковано 11 гру 2024

КОМЕНТАРІ • 448

  • @purushothamchembeti8606
    @purushothamchembeti8606 6 років тому +513

    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 >,>=,

    • @awsomeindia1295
      @awsomeindia1295 5 років тому +17

      How does ac also....plz reply I really need to know!!!!!!!!!!!!

    • @vishaliravichandran1314
      @vishaliravichandran1314 5 років тому +56

      @@awsomeindia1295 a

    • @awsomeindia1295
      @awsomeindia1295 5 років тому +16

      @@vishaliravichandran1314 thank u so much for explaining this😄😄

    • @rudraenterprises9005
      @rudraenterprises9005 4 роки тому +5

      ​@@awsomeindia1295 sun if some thing is true it return 1

    • @adhitya946
      @adhitya946 4 роки тому +6

      In if condition it is true == true right??

  • @hello_pi
    @hello_pi 4 роки тому +218

    Sir i am a cse student.... C is the 1st language for a cse student... I never forget you in my life

  • @sdk28
    @sdk28 3 роки тому +129

    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

  • @rahilumar3002
    @rahilumar3002 6 років тому +274

    Serving people is serving humanity....nice job luv it

  • @Mytechielife
    @Mytechielife 6 років тому +48

    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.

  • @nagashayanreddy7237
    @nagashayanreddy7237 4 роки тому +44

    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. :)

  • @Prakhar_Choubey
    @Prakhar_Choubey 4 роки тому +89

    This guy is going straight to haven 🔥🔥🔥🔥🔥🔥🔥🔥🔥🔥

  • @ChintanDhokai
    @ChintanDhokai 5 років тому +21

    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 >,>=,

  • @crypto_key_unlocked
    @crypto_key_unlocked 3 роки тому +1

    Thanks!

  • @sidans4325
    @sidans4325 2 роки тому +5

    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

  • @adi54113
    @adi54113 6 років тому +21

    Assignment answer is: true(as 1030 is also true and both cases are compared with equality operator so it is true.)

  • @renukadeviamalapurapu5662
    @renukadeviamalapurapu5662 3 місяці тому +1

    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.

  • @rikkalarakeshreddy6466
    @rikkalarakeshreddy6466 4 роки тому +6

    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;
    }

  • @nforme7826
    @nforme7826 4 роки тому +3

    a30] which is true
    ac
    True==true
    So, output is true😊

  • @compangit1524
    @compangit1524 Рік тому +3

    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

  • @suryas1616
    @suryas1616 2 роки тому

    (ac) presedence:2
    == Presidence:3
    Answer: true

  • @hemalakshmi9044
    @hemalakshmi9044 3 роки тому +7

    a=10 , b=20 , c=30 , d=40 ;
    ( a c)
    Explanation :
    (10 30)
    Here first ...10

    • @maheshtech3241
      @maheshtech3241 2 роки тому

      Thanks for answering...it helped me to understand ❤️🤝

  • @krutarthpatel6537
    @krutarthpatel6537 3 роки тому +8

    Neso is best 👍

  • @rohitrout6450
    @rohitrout6450 4 роки тому +35

    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

  • @sulthanamalick9308
    @sulthanamalick9308 5 років тому +7

    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..

  • @vallipravallikaalluri
    @vallipravallikaalluri 6 років тому +4

    Tq so much i gone theough many websites but this is the 1 which fastly understand and went into my mind 😊😊

  • @APstudent-y6s
    @APstudent-y6s 10 місяців тому

    16:10 and the answer comes out to be True
    thanks Neso❤

  • @rubitadas9382
    @rubitadas9382 4 роки тому +6

    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.

  • @7Strigiformes
    @7Strigiformes 5 років тому +6

    Thanks a lot sir for these types of great videos...

  • @AshishKumar-uw9xp
    @AshishKumar-uw9xp 2 роки тому +1

    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 .

  • @varunsamrutwar1966
    @varunsamrutwar1966 3 роки тому +1

    the ans is true ,
    explanation :-
    if(ac)
    {
    cout

  • @Atharhashmisir
    @Atharhashmisir 5 років тому +1

    Thankyou very much. I have started C programming lectures in Hindi. you are helping me a lot.

  • @hello_pi
    @hello_pi 4 роки тому +8

    You are the real hero sir........ 🙏🙏🙏🙏🙏

  • @namita6577
    @namita6577 5 років тому

    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.

  • @AbdElrahmanAmirMohamed
    @AbdElrahmanAmirMohamed 3 роки тому +2

    i can't know how can i thank you
    great content ..... thank you very much 💙💙💙💙💙💙

  • @sushmanthavala7813
    @sushmanthavala7813 3 роки тому +1

    You are the god for many students sir love you ❤️

  • @brotherinterest6912
    @brotherinterest6912 2 роки тому +2

    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

  • @sukhbeersingh5811
    @sukhbeersingh5811 3 роки тому +1

    The output of the homework problem is TRUE.👍

  • @udittiwari8409
    @udittiwari8409 4 роки тому +1

    this your video is best and is this is fully complete series for gate sir plz tell i am following your series

  • @hanivarsitha2505
    @hanivarsitha2505 3 роки тому +2

    Superb explanation 👍

  • @accessdenied9393
    @accessdenied9393 3 роки тому

    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.

  • @mohamedkhawaga8067
    @mohamedkhawaga8067 3 роки тому

    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

  • @ka7126
    @ka7126 3 роки тому +2

    Thank you so much, bro, you explain this so well; I'm set for success in my class moving forward

  • @lets___explore
    @lets___explore 5 років тому +2

    Ans is true....i understand the concept very well☺..thakiieeww soo mch...

  • @zeezoscode6954
    @zeezoscode6954 10 місяців тому

    The answer for the question is True. Thanks for the great explanation 😍😍

  • @samamostafa2299
    @samamostafa2299 4 роки тому

    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

  • @natnaellegesse1881
    @natnaellegesse1881 3 роки тому +1

    (2+3)*5 =25 it is correct and it is called distributive property of multiplication over addition, 5*2+5*3=25
    ✔️

  • @Xardas_
    @Xardas_ 2 роки тому

    Since the

  • @kishanchaurasia2909
    @kishanchaurasia2909 4 роки тому +2

    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.

  • @sahasrababy_
    @sahasrababy_ 4 роки тому

    Answer is True.
    Because ,d>c is true that is 1
    and a

  • @sohamshinde1258
    @sohamshinde1258 4 роки тому +2

    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.

  • @saraiahd
    @saraiahd Рік тому

    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

  • @princeyaduvanshi9519
    @princeyaduvanshi9519 2 роки тому +2

    Very well understood everything. Thanks you sir 🤗🤗

  • @apnakaamkaro2644
    @apnakaamkaro2644 5 років тому +4

    Thankyou For these Lectures Sir :)

  • @maneeshachandel8493
    @maneeshachandel8493 4 роки тому +1

    Thank you so much sir...you defined it with..minute details

  • @MohitK96
    @MohitK96 6 років тому +6

    everyone underestimates precedence and associativity without knowing that they are the most important topics...

    • @waverache8296
      @waverache8296 5 років тому

      Right

    • @tawseeftaher4446
      @tawseeftaher4446 4 роки тому

      mohit,vai...
      i can't memotize this associativity & precedence table. Please help me, if possible

    • @hello_pi
      @hello_pi 4 роки тому +1

      @@tawseeftaher4446 practice bro... Do practice

  • @realgamerz5575
    @realgamerz5575 2 роки тому

    home works answer is true
    thank u so much to give such a great content free of cost

  • @shubhammahajan6696
    @shubhammahajan6696 6 років тому +55

    if u work like this so we'll no need of rbr sir paid lecture

    • @fun2shh899
      @fun2shh899 4 роки тому +3

      true bhai

    • @rishabhchakraborty2628
      @rishabhchakraborty2628 4 роки тому +1

      Exactly, his course is not worth in terms of depth. He just makes everything memorise.

    • @mrunmaidahare8477
      @mrunmaidahare8477 3 роки тому

      are these lectures better than rbr sir paid lecture? plz tell

  • @shubhammahajan6696
    @shubhammahajan6696 6 років тому +6

    one video in 2 day means syllabus finish before gate 2019 we can expect with you thanks

  • @khushiverma894
    @khushiverma894 4 роки тому +2

    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

    • @SandhyaSingh-ms6br
      @SandhyaSingh-ms6br 4 роки тому +1

      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

    • @khushiverma894
      @khushiverma894 4 роки тому

      @@SandhyaSingh-ms6br yeah got it...thanks😊

  • @bhargavchowdary45
    @bhargavchowdary45 4 роки тому

    ans=true;
    #include
    int main()
    {
    int a=10,b=20,c=30,d=40;
    if (a c)
    {
    printf("true");
    }
    else
    {
    printf("false");
    }
    return 0;
    }

  • @awsomeindia1295
    @awsomeindia1295 5 років тому +2

    Thank you so so so so so much sir....really helpful and detailed video

  • @nishithbaravkar7549
    @nishithbaravkar7549 3 роки тому +1

    thanks for this wonderful video

  • @varunsharma2876
    @varunsharma2876 4 роки тому

    This the best channel👌👌👌

  • @ashishkhari5565
    @ashishkhari5565 Рік тому

    True is the answer of the homework problem................

  • @Tara_Sutar
    @Tara_Sutar Рік тому

    @ 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 ?

  • @deepakbhardwaj3141
    @deepakbhardwaj3141 6 років тому +4

    U r awesome Sir doing a great job....

  • @sanketkumar29
    @sanketkumar29 6 років тому +4

    Sir plz make videos on cmos basics and its gate implementation.🙏🙏
    Your videos are helping me alot thank you so much🙏🙏😊

  • @mauryaashish1865
    @mauryaashish1865 3 роки тому +2

    You are insane man!! 🔥🔥🔥

  • @SsSs-nr2nt
    @SsSs-nr2nt 4 роки тому +2

    good initiative

  • @vikramsingh-jb1xt
    @vikramsingh-jb1xt 6 років тому +2

    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.

    • @fuzailmohamed8619
      @fuzailmohamed8619 6 років тому

      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.

    • @prashant1206
      @prashant1206 6 років тому

      but in relational operator(==) non zero value is taken as true so, true(any non zero value)== true ,
      so result is true..

  • @nandinichaudhari4513
    @nandinichaudhari4513 2 роки тому

    Very nice explanation, my all doubts get clear.

  • @smrutiranjanmohanty21
    @smrutiranjanmohanty21 5 років тому +2

    Excellent

  • @382_alamin8
    @382_alamin8 2 роки тому

    So much attractive content thanks for it. Ans. True

  • @qwertyuiopasdfghjkl4211
    @qwertyuiopasdfghjkl4211 5 років тому

    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.

  • @andlurimunireddy4622
    @andlurimunireddy4622 4 роки тому

    Ans is true.because in relational operators priority is ,=,==,=! . so according to this priority ans is considered as true

  • @Official-tk3nc
    @Official-tk3nc 5 років тому +15

    Guys they are providing everything for free and some idots dislikes these types of videos. I think they need mental treatment

    • @manishsuthar597
      @manishsuthar597 4 роки тому +1

      They probably would be jealous teachers😟😕

    • @nihalpandey5675
      @nihalpandey5675 4 роки тому +1

      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😂

  • @criminalcoder6307
    @criminalcoder6307 3 роки тому

    True..
    As relational operators have higher precedence than equality operator.

  • @Foodfind217
    @Foodfind217 Рік тому

    Answer of the question of this lession:
    True

  • @swathik3491
    @swathik3491 5 років тому

    ac gives true and true = = true so its print True

  • @Steeve.smoker
    @Steeve.smoker Рік тому

    Sir.u pin correct answers.and I enjoy ur series ❤❤

  • @deepeshsunuwar1086
    @deepeshsunuwar1086 4 роки тому

    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.....................................

  • @suryatomar1997
    @suryatomar1997 3 роки тому +1

    sir in expression (2+3)*5 ,we must have to solve bracket first then the multiplication should be done, isn't it?

  • @selvalakshmis.v4232
    @selvalakshmis.v4232 3 роки тому +1

    True
    Thank you, Sir

  • @ToanNguyen-ue1qk
    @ToanNguyen-ue1qk 2 роки тому +1

    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;
    }

    • @duggirambabu7792
      @duggirambabu7792 2 роки тому

      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")

  • @s.saketh4725
    @s.saketh4725 Рік тому

    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

  • @andistheinforitbutso7513
    @andistheinforitbutso7513 2 роки тому

    Tussi great ho Sir ji

  • @AbstractZeroData
    @AbstractZeroData 9 місяців тому

    if we consider () paranthesis as an operator then there is more than one operator in the expression fun1() + fun2()

  • @unknown-kn4uf
    @unknown-kn4uf 5 років тому +3

    @3:48 associativity of * is more than / you only told. Then why here you are saying that associativity of / is more than *

    • @AbbaJi-gm4vc
      @AbbaJi-gm4vc 5 років тому

      See again

    • @adeebalam2392
      @adeebalam2392 3 роки тому

      @@AbbaJi-gm4vc can you please explain I have the same doubt

  • @RAHULTMNT100
    @RAHULTMNT100 5 років тому +1

    great video!

  • @manojbasam6732
    @manojbasam6732 5 років тому +1

    Great job sir

  • @nitishaagrawal8629
    @nitishaagrawal8629 6 років тому +1

    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..

  • @sspsuman
    @sspsuman 4 роки тому +2

    () has Left to Right associativity.
    So why not first fun1() then fun2() will execute always ??

    • @mr.knight8967
      @mr.knight8967 3 роки тому

      No man,
      When both have same precedence,
      Compiler work left to right so fun1() will execute first.

    • @duggirambabu7792
      @duggirambabu7792 2 роки тому

      @@mr.knight8967
      int a, b, c=3;
      a = b = c;
      Have same precedence.
      *It goes from Right to Left,* not Left to Right.

  • @vinaykambli7228
    @vinaykambli7228 4 роки тому +1

    can some plz tell me which video he explain sizeof () ???

  • @jeniferjenifer7752
    @jeniferjenifer7752 4 роки тому +1

    Super super,😍😍😍😍

  • @rishabdas1092
    @rishabdas1092 4 роки тому

    True as all the parenthesis have same associativity...

  • @mahtabalam5354
    @mahtabalam5354 5 років тому

    great teaching sir

  • @neerajnegi1447
    @neerajnegi1447 4 роки тому

    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.

  • @njaliShinde
    @njaliShinde 4 роки тому +1

    If condition is true
    True==True that is
    1==1
    o/p:True

  • @harshavardhankanoj6021
    @harshavardhankanoj6021 3 роки тому

    Why at the end 2 comes at the output of question at 14:38

  • @mahalingpreethi1021
    @mahalingpreethi1021 3 роки тому

    Ans:True
    ac is true which results 1;
    but 1==1 is True;
    so ans is True

  • @nandinipogula9726
    @nandinipogula9726 4 роки тому +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

  • @payalkumari3825
    @payalkumari3825 2 роки тому

    Explain various operators with its precedence in c.
    Explain various operators in c.
    Sir this two questions are same or different

  • @universalstarcpu9522
    @universalstarcpu9522 3 роки тому

    @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 ?

    • @duggirambabu7792
      @duggirambabu7792 2 роки тому

      **,/,%* 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

  • @noone0978
    @noone0978 Рік тому

    true will be answer
    btw sir, do we have to learn the table?