Solved

Macros

Posted on 2000-04-11
4
251 Views
Last Modified: 2010-04-15
why does the macro increment or decrement twice before it evalutes,when we pass a increment or decrement operator as a parameter?
eg:#define macro(a) (a)*(a)

in the main function
   macro(++a);
0
Comment
Question by:Ramprasad_Inala
  • 3
4 Comments
 
LVL 10

Accepted Solution

by:
rbr earned 0 total points
ID: 2703569
A macro is just the source replacement


macro (++a) produces the source

(++a)*(++a) so a will be inremented twice.


0
 
LVL 10

Expert Comment

by:rbr
ID: 2703578
And pls read
http://www.eskimo.com/~scs/C-faq/q3.2.html

This code is not well defined and can produce any result.
0
 
LVL 10

Expert Comment

by:rbr
ID: 2703587
An pls give a comment to your other question
http://www.experts-exchange.com/jsp/qShow.jsp?ta=cprog&qid=10326206 
0
 
LVL 84

Expert Comment

by:ozo
ID: 2706292
You can't depend on a being incrementyed twice, because an object shall be modified at most once between sequence points.
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Using unmanaged DLL from managed application 14 297
Read file descriptor 3 in C 14 122
List out all word 7 336
A  &&  B  || (C||D) how it works in c 7 148
Have you thought about creating an iPhone application (app), but didn't even know where to get started? Here's how: ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ Important pre-programming comments: I’ve never tri…
Summary: This tutorial covers some basics of pointer, pointer arithmetic and function pointer. What is a pointer: A pointer is a variable which holds an address. This address might be address of another variable/address of devices/address of fu…
Video by: Grant
The goal of this video is to provide viewers with basic examples to understand and use for-loops in the C programming language.
The goal of this video is to provide viewers with basic examples to understand how to create, access, and change arrays in the C programming language.

749 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question