易截截图软件、单文件、免安装、纯绿色、仅160KB

求一道简单C程序的求解过程!

以下程序执行后输出结果为什么是28?各位有谁可以解释一下(最好有详细的过程)?小的在此谢过了!

#define f(x) x*x
main()
{
  int i;
  i=f(4+4)/f(2+2);
  printf("%d\n",i);
}
4+4*4+4/2+2*2+2  = 28;

有点脑筋急转弯的意思。哈哈

引用
4+4*4+4/2+2*2+2  = 28;

错误


引用


#define f(x) x*x



这个改一下, #define f(x) ((x)*(x))

宏得慎用

宏定义防止使用错误
用小括号包含。


4+4*4+4/2+2*2+2  = 28;
#define f(x) (x*x)为(4+4)*(4+4)/(2+2)*(2+2)
注意使用宏是加括号的情况~

處理上邊人講的腦筋急轉彎外,定義這種宏的人,打一下屁股。

引用
4+4*4+4/2+2*2+2  = 28;

完全是不理解宏导致的

引用
4+4*4+4/2+2*2+2  = 28;


哈哈,小新被批啦。

定义宏的时候加括号

定义带参数的宏,一定要用()。

定义带参数的宏,一定要用()。


引用
4+4*4+4/2+2*2+2  = 28;

这么多人批评小新,

可是只有小新的解释是 对的。

你们谁能解释为什么等于28.
{{


相关问答:

C 程序问题 (二) - C/C++ / C语言

问一下:
#include <stdio.h>
int main()
{
  char x, y, z;
  int i;
  int a[16];
  for(i=0; i<=16; i++)
  {
  a[i] = 0;
  ......

刚学C,用C实现编码 - C/C++ / C语言

#include"stdio.h"
#include"stdlib.h"
void ContrTwo(char i)
{
char str1[8];
itoa(i,str1,2);
printf("%s",str1);
}
unsigned char leftRot(char str,int i);
unsign ......

C/C++里屏shift+f10键要怎么写! - C/C++ / C++ 语言

SHIFT加F10与那个键右ctrl边上的那个键功能一样,想屏这个
但不知要怎么写那个组合键!
有没哪个大侠放一段这个的代码或写一段
http://topic.csdn.net/u/20090609/15/7dc9fb70-243f-4070-9cfd-34e48b66e6c6.html ......

关于c:forEach迭代标签的问题

本人在项目中,用ssh架构,想做成分页的效果.
以前我在页面中是,这样取得数据的
<!--进行循环遍历数据-->
<!--进行循环遍历数据-->
<%
List<Users> lof = (List) request.getAttri ......

如何用C画图,能否编一个具体的 急用

如何用C画图,能否编一个具体的 。
#include <conio.h>
#include <stdio.h>
int main()
{
int i;
char *s[]={"BLACK","BLUE","GREEN","CYAN","RE ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号