× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.




On 04/03/2010, at 6:26 AM, Dennis Lovelady wrote:

Hence the need for different operators. This feature is highly exploited in
statements like:

if ((fp=fopen(szFilename, "r")) == NULL) { // handle error...

The above assigns the result of fopen to fp... and then tests fp against a
value of NULL.


But only if you get the parentheses correct otherwise it behaves quite differently. In this specific case the alternatives fail to compile but there are many examples of C programmers performing an unintentional assignment in a comparison where the compiler is quite happy with such a construct and the problem is not found until a specific set of circumstances occur. For example;
if ( a = b )
will be true in all cases except where b happens to be 0, 0x00, or null. And what did the programmer mean by:
if (a = b != c )
I wonder? Yet another argument in favour of NOT supporting assignment in comparisons and in fact one of the things a decent Lint checker will flag. Without such support we'd have to write:

fp = fopen( szFilename, "r" ); // assignment
if ( fp = NULL ) { // equivalence

Wow, that's so much less concise than the alternative I think I can no longer stomach any programming language that doesn't allow assignment within if-tests. (That was sarcasm for those of you who missed it.) Not something I'd want to see added to RPG--even PL/1, that polymorph of syntax, did not accept assignment in a comparison which to my mind lends further weight that it's a bad idea.


Regards,
Simon Coulter.
--------------------------------------------------------------------
FlyByNight Software OS/400, i5/OS Technical Specialists

http://www.flybynight.com.au/
Phone: +61 2 6657 8251 Mobile: +61 0411 091 400 /"\
Fax: +61 2 6657 8251 \ /
X
ASCII Ribbon campaign against HTML E-Mail / \
--------------------------------------------------------------------




As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.