c - Why am i getting this warning in "if (fd=fopen(fileName,"r") == NULL)"? -


  फ़ाइल * fd; अगर (एफडी = एफओपीएन (फाइलनाम, "आर") == नल) {printf ("फ़ाइल खोलने में असफल"); बाहर निकलने के (1); }  

यह एक कोड स्निपेट है I जब मैं इसे जीसीसी के साथ संकलित करता हूं, तो मुझे निम्नलिखित चेतावनी मिलती है: -

  चेतावनी: असाइनमेंट एक कलाकार के बिना पूर्णांक से सूचक बनाता है  

जब मैं एफडी = एफओपीएएन (एजीआर [2], "आर") ब्रैकेट्स के भीतर, समस्या हल हो जाती है ..

मैं समझ नहीं पा रहा / रही हूँ जहां मैं सूचक को पूर्णांक परिवर्तित कर रहा हूँ जब ब्रैकेट नहीं डाले जाते।

ऑपरेटर प्राथमिकता नियमों के कारण स्थिति को परिभाषित किया जाता है एफडी = (एफओपीएन (फाइलनाम, "आर") == नल) == का परिणाम पूर्णांक है, fd एक संकेतक है, इस प्रकार त्रुटि संदेश।

अपने कोड के "विस्तारित" संस्करण पर विचार करें: < / P>

  फ़ाइल * fd; Int ठीक है; Fd = fopen (फ़ाइलनाम, "आर"); ठीक है = एफडी == नल; // ...  

क्या आप उम्मीद करते हैं कि पिछली पंक्ति को (ok = fd) == NULL के रूप में समझाया जाए, या ok = (fd == नल) ?


Comments

Popular posts from this blog

oracle - The fastest way to check if some records in a database table? -

php - multilevel menu with multilevel array -

jQuery UI: Datepicker month format -