delorie.com/archives/browse.cgi | search |
From: | "Thomas Harte" <T DOT Harte AT btinternet DOT _c_o_m_> |
Newsgroups: | comp.os.msdos.djgpp |
Subject: | Re: Warning : if (x=y) |
Date: | Sat, 9 Sep 2000 13:05:25 +0100 |
Organization: | BT Internet |
Lines: | 25 |
Message-ID: | <8pd96i$3bv$1@neptunium.btinternet.com> |
References: | <8pd7q6$ljs$2 AT info DOT cyf-kr DOT edu DOT pl> |
NNTP-Posting-Host: | host62-7-124-28.btinternet.com |
X-Newsreader: | Microsoft Outlook Express 4.72.3155.0 |
X-MimeOLE: | Produced By Microsoft MimeOLE V4.72.3155.0 |
To: | djgpp AT delorie DOT com |
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
Reply-To: | djgpp AT delorie DOT com |
Rafał Maj wrote in message <8pd7q6$ljs$2 AT info DOT cyf-kr DOT edu DOT pl>... >What is command-line option for turning on warning messages for this >expression ? I don't think there is one, since it is perfectly valid syntax. It assigns the value of x to y, and then evaluates the if statement based on that value - 'TRUE' if the value is non-zero. In actual fact these assignments are terribly useful, for example : char *a; if (a = (char *)malloc(32)) //with (char *) cast for pedants / C++ users { ... } else printf("Malloc failed"); If the malloc succeeds, 'a' correctly points to the 32 bytes of memory. -Thomas
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |