Solved

Macros

Posted on 2000-04-11
4
252 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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

Technology Partners: 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

This tutorial is posted by Aaron Wojnowski, administrator at SDKExpert.net.  To view more iPhone tutorials, visit www.sdkexpert.net. This is a very simple tutorial on finding the user's current location easily. In this tutorial, you will learn ho…
Windows programmers of the C/C++ variety, how many of you realise that since Window 9x Microsoft has been lying to you about what constitutes Unicode (http://en.wikipedia.org/wiki/Unicode)? They will have you believe that Unicode requires you to use…
The goal of this video is to provide viewers with basic examples to understand and use structures 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.

691 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