我是靠谱客的博主 苗条铃铛,最近开发中收集的这篇文章主要介绍#define sqr(x) x*x,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

  #define定义的指令允许带参数。例如,下面的定义也是合法的:
#define sqr(x) x*x
    观察下面的这个程序:
#include <stdio.h>
#define begin {
#define end }
#define writeln(num) printf("%dn",num)
#define sqr(x) x*x

int main()
begin
   writeln(sqr(100));
   writeln(sqr(10+2));
end

    程序输出:
10000
32

    为什么第二个输出的数是32不是144?不要忘了sqr中的x不是一个变量,编译器仅仅是把x替换为10+2,因此sqr(10+2)的结果是10+2*10+2,当然是32咯。为了避免这种情况,这样写就没问题了:
#define sqr(x) ( (x) * (x) ) 本文出自 51CTO.COM技术博客

转载于:https://www.cnblogs.com/theotherme/archive/2008/09/29/1302209.html

最后

以上就是苗条铃铛为你收集整理的#define sqr(x) x*x的全部内容,希望文章能够帮你解决#define sqr(x) x*x所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部