From: Victor Senderov Newsgroups: comp.os.msdos.djgpp Subject: division after for loop Date: Sat, 06 Mar 1999 17:58:14 -0500 Organization: Posted via RemarQ, http://www.remarQ.com - Discussions start here! Lines: 40 Message-ID: <36E1B306.176F24E4@usa.net> NNTP-Posting-Host: 209.141.72.93 Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: 920761106 FQHDYQB2I485DD18DC usenet55.supernews.com X-Complaints-To: newsabuse AT remarQ DOT com X-Mailer: Mozilla 4.05 [en] (Win95; I) To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com The following is a part of a program I was trying to write. The problem is that if the for loop is used flPart will be incorect. If it is cut everything works just fine. #include #include #include double atod_new(char* stg); int main() { atod_new("453,43.5435"); return 0; } double atod_new(char* stg) { char* stgClean = "\0"; int j = 0; // THIS LOOP CAUSES for (int i = 0; stg[i] != '\0'; i++) { if (stg[i] >= '0' && stg[i] <= '9' || stg[i] == '.') stgClean[j] = stg[i]; else j--; j++; } stgClean[j] = '\0'; long intPart = atol(stgClean); char* point2Fl = strchr(stgClean, '.'); point2Fl++; double flPart = 653.; cout << endl; cout << flPart << endl; flPart= flPart/10; cout << flPart; // THIS TO OUTPUT NONSENSE return flPart; }