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
Post a Comment