A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 若何 中级黑马   /  2014-10-5 19:42  /  3772 人查看  /  28 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

#define pingfang(a) (a*a)
#include "stdio.h"
int main()
{
    int c = pingfang(5+5);
    printf("c is %d\n", c);
    return 0;
}

点评

宏替换只做替换,不做计算的(a)*(a),其中a是5+5而已  发表于 2014-11-25 16:31

28 个回复

倒序浏览
因为a = 5 + 5,带入后等于(5 + 5 *5  + 5)=35;
楼主建议你看下基础视频吧,里面都有讲到
回复 使用道具 举报
卡尔 发表于 2014-10-5 19:49
因为a = 5 + 5,带入后等于(5 + 5 *5  + 5)=35;
楼主建议你看下基础视频吧,里面都有讲到 ...

额额,这么简单,我把5+5直接算出来了,⊙﹏⊙b汗
回复 使用道具 举报
最好再加个括号呢!是吧
回复 使用道具 举报
顶一个,
回复 使用道具 举报
#define 是直接替换不管优先级的 所以里面的每一个元素都要加括号 还有你的 stdio.h 是系统自带的头文件 应该用<>的
回复 使用道具 举报
建议你还是看点写一点吧。。。。
回复 使用道具 举报
若何 中级黑马 2014-10-6 20:31:59
8#
ch8898163 发表于 2014-10-6 11:31
建议你还是看点写一点吧。。。。

嗯,我一直在看,还没总结笔记呢
回复 使用道具 举报
若何 中级黑马 2014-10-6 20:34:35
9#
陌生爱人 发表于 2014-10-6 10:52
#define 是直接替换不管优先级的 所以里面的每一个元素都要加括号 还有你的 stdio.h 是系统自带的头文件 应 ...

嗯,知道了,那个stdio.h 原题就用引号
回复 使用道具 举报
诺微_ 发表于 2014-10-5 22:20
最好再加个括号呢!是吧

对的~需要再加括号
回复 使用道具 举报
若何 发表于 2014-10-6 20:37
对的~需要再加括号

这个问题记得老是的视屏里讲过呢!
回复 使用道具 举报
诺微_ 发表于 2014-10-6 22:12
这个问题记得老是的视屏里讲过呢!

额额,我跳着看,太不认真了。。。
回复 使用道具 举报
stdio.h   是系统自带的。自己写的.h文件  才用" "哟:lol
回复 使用道具 举报
若何 发表于 2014-10-7 00:16
额额,我跳着看,太不认真了。。。

跳着看,那就一定是有基础咯
回复 使用道具 举报
邢玉池 发表于 2014-10-7 00:28
stdio.h   是系统自带的。自己写的.h文件  才用" "哟

是的,系统自带的用尖括号〈〉
回复 使用道具 举报
诺微_ 发表于 2014-10-7 07:30
是的,系统自带的用尖括号〈〉

很给力啊,嘿嘿。相互水哈哈。。。
回复 使用道具 举报
诺微_ 发表于 2014-10-7 07:29
跳着看,那就一定是有基础咯

有基础,只是好久没用C语言了,OC和iOS零基础
回复 使用道具 举报
宏只是单纯的替换  不做运算    每个a都加一对括号    这样严谨,
回复 使用道具 举报
基础测试题啊这是
回复 使用道具 举报
若何 中级黑马 2014-10-10 23:46:58
20#
赵志文 发表于 2014-10-8 10:17
宏只是单纯的替换  不做运算    每个a都加一对括号    这样严谨,

嗯嗯,好的,学习了:P我还没看到宏
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马