أولوية مشغلي C ++ "و" و "->"
-
03-07-2019 - |
سؤال
ونظرا لما يلي:
&row->count
وليت و(row-> العد) يتم تقييم أو (& صف) -> العد يتم تقييمها في C ++
وتحرير: وهنا href="http://www.cppreference.com/wiki/operator_precedence" صلة للحصول على C ++ الأسبقية
المحلول
نصائح أخرى
وبقدر ما يذهب قواعد الأسبقية، لقد أحببت دائما واحدة التي وضعتها ستيف والين في "العملي C":
<اقتباس فقرة>وهناك خمسة عشر قواعد الأسبقية في C (&& يأتي قبل || يأتي قبل ؟ :). يقلل من مبرمج العملي هذه لاثنين:
1) الضرب والقسمة يأتي قبل الجمع والطرح.
2) وضع أقواس حول كل شيء آخر.
اقتباس فقرة>ويطلب هذا بالفعل. لكن هنا هو وصلة.
وتحرير: هذا السؤال هي مشابهة جدا. وربما يكون هناك واحد آخر.
هل لي أن أقترح عليك أن حل مثل هذه الأسئلة باستخدام برنامج الاختبار؟ أن له ميزة أنه سوف نعرف على وجه اليقين أن الجواب الصحيح لتنفيذ الخاص بك، وأنت لا تتعرض لخطر الإجابة على الأسئلة بشكل سيئ.
وC مشغل precendence هنا
وكما في الجدول، -> هو أولوية أعلى من والمشغل، لذلك فمن و(row-> العد)
& (row-> العد)
-> لديها أولوية أعلى من و(عنوان). لذلك سوف يتم تقييم التعبير الخاص بك كما و(row-> العد)