编程的时候,如何根据程序变量定义变量?

定义变量能不能在程序变量执行過程中间定义啊.

如果我事先没有考虑到这个变量,而程序变量执行过程中又需要这个变量,能不能在需要时临时添加上去呢,而不是在程序变量開头定义,在程序变量中间能够再根据需要定义自己需要的变量吗

}

2010年华为笔试题 程序变量中只有两個变量a和b利用宏定义,编写程序变量交换a和b的值 [问题点数:40分,结帖人leaderpig]

确认一键查看最优答案

本功能为VIP专享,开通VIP获取答案速率将提升10倍哦!


貌似宏定义函数这种方式,会有很多漏洞的...华为怎么会出这样的问题呢看effective c++上介绍,尽量用inline代替宏定义的函数。

用了会抱錯的吧,感觉需要加{}

2楼的正确,其他都是错的

这题肯定是考试宏的几个点啊,变量要都()起来,整个表达式也要()起来(2楼好像没有这么做),最后不要用分號,另外a+b这种写法考虑到整数溢出的情况,可能没有a^b好,不过容易理解一些

1楼2楼的做法都是对的

1楼只是没有把代码写成宏罢了,估计1楼认为这個对大家应该不难吧所以就只是给出了思路。

大部分人推崇的做法还是2楼的方式

貌似,宏定义函数这种方式会有很多漏洞的...华为怎麼会出这样的问题呢。看effective c++上介绍尽量用inline代替宏定义的函数。

超过数据范围就挂了,用二楼的就可以了

哎~,说一楼有溢出问题的人舉个例子出来什么数据下二楼正确而一楼错误?


学习了原来还可以这样!

上面都是对的,就是第一种会产生数据溢出

的确二楼是对嘚,1楼的问题在于:

2. 没有考虑到宏定义的副作用

如果为整数类型的话共有三种 


这种理论上也正确,但是存在溢出问题……

匿名用户不能發表回复!
}

我要回帖

更多关于 程序变量 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信