- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I've encountered a wierd problem. When I was doing:
double p[]={1.d, 2.d, 3.d, 4.d, 5.d};//or even double p[5] = blahblahblah...
And then I made a for loop to check the values of array p, I got all zeros. This is a problem that I abstract during the debugging. In fact, this happens when I use icc or icpc to compile, on the contrary, the it truns out that everything is fine with gcc or g++. I'm so confused...
I'm using icc version 13.1.0.
Thank you for your comments!
Link Copied
3 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
As far as I know, a "d" suffix is not standard for floats. Use one of:
- "f" or "F" for "float"
- "l" or "L" for "long double"
- (nothing) for "double"
This must be GCC's extension to the standard.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
changing ".d" to ".f" does work around the issue.
Not sure since which version of gcc that accepts the ".d". But I'll file a ticket for it.
Jennifer
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page