عامل شرطي أحادي في C
حبيب الله خان
صاحب السؤال
محتوى السؤال
هل يمكن لأي شخص أن يشرح لي أو يعلمني كيفية معالجة مشكلة رمز المشغل الشرطي التي أواجهها بعد قراءة هذا المقال هنا https://www.scaler.com/topics/c/conditional-operator-in-c/
حتى عندما أقوم بتغيير الخادم إلى 0 أو 1 ، يبدو دائمًا أنه يتجاوز العامل الشرطي ويطبع الخيار الثاني فقط.
هو دائما يطبع الخيار الثاني. SetB أولاً ، ثم SetA
لماذا لا يعمل هذا؟ هل هو نوع من الخطأ الدلالي؟ أم عيب منطقي؟
#include <stdio>
#include <limits>
int main(int argc, char *argv[]){
int ch = -191;
int x = UINT_MAX;
int setA[5]={-1,-1,-1,-1,-1};
int setB[5]={-2,-2,-2,-2,-2};
int server = 1;
int i=2;
printf("%d %d\n",server==1?setA[i],setB[i]:setB[i],setA[i]);
printf("%d %d\n",server==0?setA[i],setB[i]:setB[i],setA[i]);
// printf("%u\n%u\n",ch,x);
}
الإجابات (1)
م/ساره العنزي
2023/02/01
انشى قاعده تنسيق على هاتفك أو جهازك اللوحي الذي يعمل بنظام التشغيل Android، افتح جدول بيانات بتطبيق "جداول بيانات Google".
اختَر النطاق الذي تريد تنسيقه
انقر على "تنسيق" تنسيق شرطي
حدّد شروط القاعدة. إذا كانت هناك قاعدة مستخدَمة مسبقًا في الخلية أو النطاق
انقر على إضافة أولاً لإضافة قاعدة أخرى
انقر على حفظ
مع ضروره تحديث اصدار مايكروسوفت
م/ساره العنزي
2023/02/01
انشى قاعده تنسيق على هاتفك أو جهازك اللوحي الذي يعمل بنظام التشغيل Android، افتح جدول بيانات بتطبيق "جداول بيانات Google".
اختَر النطاق الذي تريد تنسيقه
انقر على "تنسيق" تنسيق شرطي
حدّد شروط القاعدة. إذا كانت هناك قاعدة مستخدَمة مسبقًا في الخلية أو النطاق
انقر على إضافة أولاً لإضافة قاعدة أخرى
انقر على حفظ
مع ضروره تحديث اصدار مايكروسوفت