অপরিবর্তিত আচরণ এবং ক্রম পয়েন্টগুলি সম্পর্কে এই উত্তরটি পড়ার পরে , আমি একটি ছোট প্রোগ্রাম লিখেছিলাম:
#include <stdio.h>
int main(void) {
int i = 5;
i = (i, ++i, 1) + 1;
printf("%d\n", i);
return 0;
}
আউটপুট হয় 2
। ওহ Godশ্বর, আমি হ্রাস আসতে দেখিনি! এখানে কি হচ্ছে?
উপরের কোডটি সংকলন করার সময়, আমি একটি সতর্কতা পেয়েছিলাম:
px.c: 5: 8: সতর্কতা: কমা প্রকাশের বাম-হাতের ক্রিয়াকলাপটির কোনও প্রভাব নেই
[-Wunused-value] i = (i, ++i, 1) + 1; ^
কেন? তবে সম্ভবত এটি আমার প্রথম প্রশ্নের উত্তর দ্বারা স্বয়ংক্রিয়ভাবে উত্তর দেওয়া হবে।
printf("2\n");