自创面试题目

我看你有戏 2013-06-09 04:10:11


#ifdef _DEBUG
#define pr_debug printf
#else
#define pr_debug
#endif

int get(int a)
{
printf("调用了get\n");
return a;
}

int _tmain(int argc, _TCHAR* argv[])
{
int a=10,b=1;
pr_debug("%d %d %d\n",a,b,get(a));
system("pause");
return 0;
}


实现在release下,不会打印 “调用了get” 就是不去调用get 函数
...全文
122 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
我看你有戏 2013-06-09
  • 打赏
  • 举报
回复
引用 12 楼 jha334201553 的回复:
今天蛋碎了?
#ifdef _DEBUG
	#define pr_debug(a) printf##a
#else
	#define pr_debug(a)
#endif

int get(int a)
{
	printf("调用了get\n");
	return a;
}

int _tmain(int argc, _TCHAR* argv[])
{
	int a=10,b=1;
	pr_debug(("%d %d %d\n",a,b,get(a)));
	system("pause");
	return 0;
} 
这东西你以后会用到的,呵呵
「已注销」 2013-06-09
  • 打赏
  • 举报
回复
这个WDK里面的头文件就有这样的定义形式:
##if DBG
#define KdPrint(_x_) DbgPrint _x_
#else
#define KdPrint(_x_)
#endif
「已注销」 2013-06-09
  • 打赏
  • 举报
回复
今天蛋碎了?
#ifdef _DEBUG
	#define pr_debug(a) printf##a
#else
	#define pr_debug(a)
#endif

int get(int a)
{
	printf("调用了get\n");
	return a;
}

int _tmain(int argc, _TCHAR* argv[])
{
	int a=10,b=1;
	pr_debug(("%d %d %d\n",a,b,get(a)));
	system("pause");
	return 0;
} 
我看你有戏 2013-06-09
  • 打赏
  • 举报
回复
9楼的可以,稍候结贴
我看你有戏 2013-06-09
  • 打赏
  • 举报
回复
有谁知道吗,不是自己不知道所以才问下大家,呵呵,标题只是为了吸引大伙,没别的意思
lin5161678 2013-06-09
  • 打赏
  • 举报
回复
#ifdef _DEBUG #define pr_debug printf #else #define pr_debug(...) #endif
我看你有戏 2013-06-09
  • 打赏
  • 举报
回复
哈哈,是我描述不清楚啊,意思就是release下面, pr_debug("%d %d %d\n",a,b,get(a)); 这句话就相当于不存在,现在是会调用get(a)啊 如何让它不调用呢
hugett 2013-06-09
  • 打赏
  • 举报
回复
e3internet 2013-06-09
  • 打赏
  • 举报
回复
刚才没说完、简写为 get(a);为啥不会打印字符出来?还是我们根本没有理解楼主的意思!!! 既然楼主喜欢的可以去多看看<国际C语言混乱代码大赛>
e3internet 2013-06-09
  • 打赏
  • 举报
回复
没明白你意思、上面代码是编写完成还是要大家来解这提? 在releae下:pr_debug("%d %d %d\n",a,b,get(a));这行代码就能简写为:get(a);
lin5161678 2013-06-09
  • 打赏
  • 举报
回复
引用 3 楼 lin5161678 的回复:
实现在Release下 连 a b 的10 1 也没打印呀
不对 是Release下 10 1不打印 "调用了get\n" 反而打印了
lin5161678 2013-06-09
  • 打赏
  • 举报
回复
实现在Release下 连 a b 的10 1 也没打印呀
我看你有戏 2013-06-09
  • 打赏
  • 举报
回复
修改下代码, 实现在release下,不会打印 “调用了get” 就是不去调用get 函数
就是这个怪兽 2013-06-09
  • 打赏
  • 举报
回复
你想说明什么?

64,643

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧