本文介绍了#定义如何工作的?对于CUBE奇怪的结果(Y)Y *(Y * Y)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
#include<stdio.h>
#include<conio.h>
#define CUBE(y)y*(y*y)
main()
{
int j;
j = CUBE(-2+4);
printf("value of j = %d",j);
getch();
}
这code的输出是 -26
。我只是想知道这个code如何给 -26
作为输出。在这code如何的#define
的工作。我知道,的#define
的变量或方法永久性的修复价值,但做这项工作为 CUBE
这里就不怎么样。可有人请一步形容这一步,意味着简单的方法。
Output of this code is -26
. I just want to know how this code give -26
as an output. How #define
work in this code. I know that #define
permanent fix value for a variable or method but don't how this work for CUBE
here. Can somebody please describe this step by step, means in easy way.
推荐答案
它的作用:
j = -2 + 4 * (-2 + 4 * -2 + 4)
CUBE的更正确的定义是
A more correct definition of CUBE would be
#define CUBE(y) ((y)*(y)*(y))
这篇关于#定义如何工作的?对于CUBE奇怪的结果(Y)Y *(Y * Y)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!