البرامج والتطبيقات

عامل شرطي أحادي في C

الاجابات
1اجابات
تاريخ النشر
2023/01/28
alt

حبيب الله خان

صاحب السؤال

محتوى السؤال

هل يمكن لأي شخص أن يشرح لي أو يعلمني كيفية معالجة مشكلة رمز المشغل الشرطي التي أواجهها بعد قراءة هذا المقال هنا 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)

قم بتسجيل الدخول لتتمكن من إضافة إجابة