【发布时间】:2014-11-13 14:15:35
【问题描述】:
我遇到了一个面试问题,内容如下:
“编写一个简单的 C/C++ 宏来查找最多两个数字,而无需使用标准库或三元运算符”。
我需要你的帮助来解决这个问题。我知道这是微不足道的,但我找不到它。所以,把它贴在这里。
#include<iostream>
#define max(x,y) /*LOGIC HERE*/
using namespace std;
void main()
{
int a = 98453;
int b = 66394;
cout<<max(a,b);
}
【问题讨论】:
-
看到这个answer 和这个
c++代码不会在C++中编译compiler.main 应该返回int。 -
请记住,面试也是您确定是否想在该公司工作的一种方式。如果你遇到这样的问题,问几个问题作为回报:这是正常的风格吗?您的工程师知道 C 和 C++ 之间的区别吗?您的代码库中有多少未修复的警告?与实施新功能相比,您花了多少时间从现场修复错误报告?
-
另一个人在谈论一种叫做C/C++的语言我想知道我是否必须学习那种神秘的语言。为什么不要求可以在 C 和 C++ 上使用的宏而不是谈论 C/C++?
-
给面试官比较好的回复是,这样的宏不应该用,因为sign .vs。无符号并且因为可能存在不同的变量类型。
标签: c++ c c-preprocessor