相关疑难解决方法(0)

使用#define定义数字的平方

我只是经历了一些在访谈中经常被问到的代码.我提出了一些问题,如果有人可以帮我解决这个问题?

我现在对此感到困惑,

#include <stdio.h>
#include <conio.h>

#define square(x) x*x

main()
{
      int i, j;
      i = 4/square(4);
      j = 64/square(4);
      printf("\n %d", i);
      printf("\n %d", j);
      printf("\n %d", square(4));
      getch();
}
Run Code Online (Sandbox Code Playgroud)

输出是:

 4
 64
 16
Run Code Online (Sandbox Code Playgroud)

我想知道,为什么square(4)当我分开它时返回1?我的意思是,当我分割它时如何得到值4和64,但是当直接使用时我得到16 !!

c

10
推荐指数
2
解决办法
5805
查看次数

标签 统计

c ×1