定义宏#define PRINT() printf("填什么?"),调用PRINT();PRINT();可打印出23

wangmm2008 2014-09-21 10:39:49
#define PRINT() printf("填什么?")
int main(){
PRINT();
PRINT();
}
打印出23

宏定义怎么写?
...全文
925 20 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
action_tmp 2014-09-23
  • 打赏
  • 举报
回复
没看懂的配熬过
  • 打赏
  • 举报
回复
哈哈哈哈哈... 大嘴你改卖菜刀肯定有前途。
赵4老师 2014-09-23
  • 打赏
  • 举报
回复
引用 13 楼 DelphiGuy 的回复:
大嘴这个代码可行,就是有位置依赖,如果PRINT();PRINT();之类的就是BUG了。
刚被给出可实现的代码,就立马改需求的人会被码农在心里杀一万遍不止!
hustcyb 2014-09-23
  • 打赏
  • 举报
回复
函数形式的宏定义?

#include <stdio.h>
#define PN(a) printf("%d\n", (a))

int main(void)
{
	PN(23);
	PN(31);

	getchar();
	return 0;
}
赵4老师 2014-09-23
  • 打赏
  • 举报
回复
赵4老师 2014-09-23
  • 打赏
  • 举报
回复
引用 18 楼 DelphiGuy 的回复:
哈哈哈哈哈... 大嘴你改卖菜刀肯定有前途。
赵4老师 2014-09-22
  • 打赏
  • 举报
回复
#include <stdio.h>
#define PRINT() printf("%d",__LINE__-2)
int main(){
    PRINT();
    PRINT();
    return 0;
}
//23
wangmm2008 2014-09-22
  • 打赏
  • 举报
回复
引用 10 楼 DelphiGuy 的回复:
就是编码问题,使用wprintf。
不解,请详细讲一下!
707wk 2014-09-22
  • 打赏
  • 举报
回复
这操蛋的代码
  • 打赏
  • 举报
回复
大嘴这个代码可行,就是有位置依赖,如果PRINT();PRINT();之类的就是BUG了。
wangmm2008 2014-09-21
  • 打赏
  • 举报
回复
引用 5 楼 brookmill 的回复:
[quote=引用 3 楼 wangmm2008 的回复:] [quote=引用 2 楼 brookmill 的回复:] #define PRINT() printf("23\r")
这个好像打印不出来呀,是不是我写的代码有问题?

#include <stdio.h>
#define PRINT() printf("23\r")
int main(){
    PRINT();
    PRINT();
}
[/quote] 代码没问题,我用gcc和VS2013都试了,可以打出来[/quote] 终端里面运行没有输出,vim里面:!a运行输出23
wangmm2008 2014-09-21
  • 打赏
  • 举报
回复
引用 5 楼 brookmill 的回复:
[quote=引用 3 楼 wangmm2008 的回复:] [quote=引用 2 楼 brookmill 的回复:] #define PRINT() printf("23\r")
这个好像打印不出来呀,是不是我写的代码有问题?

#include <stdio.h>
#define PRINT() printf("23\r")
int main(){
    PRINT();
    PRINT();
}
[/quote] 代码没问题,我用gcc和VS2013都试了,可以打出来[/quote] 我用gcc,没有打印东西出来
brookmill 2014-09-21
  • 打赏
  • 举报
回复
引用 3 楼 wangmm2008 的回复:
[quote=引用 2 楼 brookmill 的回复:] #define PRINT() printf("23\r")
这个好像打印不出来呀,是不是我写的代码有问题?

#include <stdio.h>
#define PRINT() printf("23\r")
int main(){
    PRINT();
    PRINT();
}
[/quote] 代码没问题,我用gcc和VS2013都试了,可以打出来
wangmm2008 2014-09-21
  • 打赏
  • 举报
回复
引用 1 楼 jerry_dqh 的回复:
可能是编码的原因,宏的用法并没有问题。
这是个笔试题,就让写宏定义中printf()怎么写
wangmm2008 2014-09-21
  • 打赏
  • 举报
回复
引用 2 楼 brookmill 的回复:
#define PRINT() printf("23\r")
这个好像打印不出来呀,是不是我写的代码有问题?

#include <stdio.h>
#define PRINT() printf("23\r")
int main(){
    PRINT();
    PRINT();
}
brookmill 2014-09-21
  • 打赏
  • 举报
回复
#define PRINT() printf("23\r")
碼上道 2014-09-21
  • 打赏
  • 举报
回复
可能是编码的原因,宏的用法并没有问题。
  • 打赏
  • 举报
回复
就是编码问题,使用wprintf。
mengdao2046 2014-09-21
  • 打赏
  • 举报
回复
引用 2 楼 brookmill 的回复:
#define PRINT() printf("23\r")
为什么只打印出一个23呢,不是两个PRINT么
dbzhang800 2014-09-21
  • 打赏
  • 举报
回复
换个写法应该就行了 #define PRINT() printf("\r23")

70,026

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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