#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();
}
此代码的输出是
-26
。我只想知道此代码如何将-26
作为输出。 #define
如何在此代码中工作。我知道#define
是变量或方法的永久性固定值,但是在这里不知道CUBE
是如何工作的。有人可以用简单的方法一步一步地描述一下。 最佳答案
它确实:
j = -2 + 4 * (-2 + 4 * -2 + 4)
CUBE的更正确定义是
#define CUBE(y) ((y)*(y)*(y))
关于c - #define如何工作?多维数据集(y)y *(y * y)的奇怪结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21973747/