| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 634 人关注过本帖
标题:c语言初学者前来请教各位高手
取消只看楼主 加入收藏
因为曾今年少
Rank: 2
等 级:论坛游民
帖 子:131
专家分:62
注 册:2011-4-13
结帖率:92.31%
收藏
已结贴  问题点数:2 回复次数:5 
c语言初学者前来请教各位高手
#include<stdio.h>
#define S(x) 4*x*x+1
main()
{
  int i=6,j=8;
  printf("%d\n",S(i+j));
}
请各位高手给个指点,我认为这个程序的结果是在宏定义的结果中x的值是14,但是运行后结果却得到了81;刚学不久,请高手给个具体分析

[ 本帖最后由 因为曾今年少 于 2011-4-14 08:15 编辑 ]
2011-04-14 08:07
因为曾今年少
Rank: 2
等 级:论坛游民
帖 子:131
专家分:62
注 册:2011-4-13
收藏
得分:0 
呵呵敢问高手
为什么会出现这种现象呢
还请指点
2011-04-14 08:19
因为曾今年少
Rank: 2
等 级:论坛游民
帖 子:131
专家分:62
注 册:2011-4-13
收藏
得分:0 
呵呵5楼你好
加个括号程序就出错了
2011-04-14 08:32
因为曾今年少
Rank: 2
等 级:论坛游民
帖 子:131
专家分:62
注 册:2011-4-13
收藏
得分:0 
七楼的回答看懂啦,谢谢,不过可不可以请您给解析一下,为什么
#define S(x) 4*x*x+1
S(i+j) 被扩展为 4*i+j*i+j+1
上面的红字扩展是那样的呢?
谢谢
2011-04-14 08:57
因为曾今年少
Rank: 2
等 级:论坛游民
帖 子:131
专家分:62
注 册:2011-4-13
收藏
得分:0 
9楼得回复 
我现在总算是明白啦
呵呵
真是不甚感谢哟
2011-04-14 14:07
因为曾今年少
Rank: 2
等 级:论坛游民
帖 子:131
专家分:62
注 册:2011-4-13
收藏
得分:0 
同时也感谢2楼得回复
2011-04-14 14:08
快速回复:c语言初学者前来请教各位高手
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016987 second(s), 8 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved