This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

stack overflow

The following line of code seems to be causing inexplicable results

if((PulsePeriod != 0))

As it is, this "if" block is entered despite the variable "PulsePeriod" having been immediately previously set to 0. Removing the inner parentheses gives different results so I can only assume this is because of a stack overflow (I am assuming that the parenthesised items are pushed onto the stack and then popped off for the final evaluation). Is there anyway I can verify this?

This is test code and the parentheses are there because a second comarison is being Logical Anded with this one in the actual code and has been remove to simplify things.

Parents
  • It would be helpful to see the code snippet in context, along with the actual declarations of the PulsePeriod variable, and a description of other places it might be used. It also would help to post the assembler listing generated from this source.

Reply
  • It would be helpful to see the code snippet in context, along with the actual declarations of the PulsePeriod variable, and a description of other places it might be used. It also would help to post the assembler listing generated from this source.

Children
No data