不用循环和递归如何用C语言实现,输出0~999

lzh3ng 2009-10-13 08:10:21
如题!
不用循环和递归如何用C语言实现,输出0~999!
...全文
436 33 打赏 收藏 转发到动态 举报
写回复
用AI写文章
33 条回复
切换为时间正序
请发表友善的回复…
发表回复
xcjsj 2011-09-15
  • 打赏
  • 举报
回复
12楼牛。
ToCreater 2010-02-24
  • 打赏
  • 举报
回复
12 lou zhengjie
lgq_0714 2009-10-14
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 garfield 的回复:]
楼主考iq题?

1 #include <stdio.h>
2
3 #define A(x) x;x;x;x;x;x;x;x;x;x;
4
5 int main()
6 {
7    int i = 0;
8    A(A(A(printf("%d\n", i++))));
9 }

[/Quote]
牛人!
lihan6415151528 2009-10-14
  • 打赏
  • 举报
回复
..
rcbblgy 2009-10-14
  • 打赏
  • 举报
回复
[Quote=引用 22 楼 caicai_vxworks 的回复:]
12楼貌似在偷换概念吧
宏替换没有能起到任何实质性的作用 如果输出0~999你还是调用了999次printf

[/Quote]
肯定比自己写999次printf要好得多。
冰岛男孩 2009-10-14
  • 打赏
  • 举报
回复
mark
caicai_vxworks 2009-10-14
  • 打赏
  • 举报
回复
12楼貌似在偷换概念吧
宏替换没有能起到任何实质性的作用 如果输出0~999你还是调用了999次printf
wuhaiyangdh 2009-10-14
  • 打赏
  • 举报
回复
不知道,来看的
380121850 2009-10-14
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 wei832660 的回复:]
printf("0~999!");
完毕!
[/Quote]
这个牛~~~
caicai_vxworks 2009-10-14
  • 打赏
  • 举报
回复
不好意思 我错了 调用1000次
caicai_vxworks 2009-10-14
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 rcbblgy 的回复:]
引用 22 楼 caicai_vxworks 的回复:
12楼貌似在偷换概念吧
宏替换没有能起到任何实质性的作用 如果输出0~999你还是调用了999次printf


肯定比自己写999次printf要好得多。
[/Quote]
比自己写999次printf好这一点不可否认
但是确实没有起到实质性的作用好不好???
是不是调用了999次printf函数?
caicai_vxworks 2009-10-14
  • 打赏
  • 举报
回复
宏是什么啊
简单的替换
用宏解决的问题都不是实质上的解决
你要看宏替换之后的代码好不好
别想当然
lzx258 2009-10-13
  • 打赏
  • 举报
回复
12强han
wei832660 2009-10-13
  • 打赏
  • 举报
回复
printf("0~999!");
完毕!
problc 2009-10-13
  • 打赏
  • 举报
回复
1.宏实现,由preprocessor代劳写1000个数字

#include < stdio.h>
#define A(x) (x; x; x; x; x; x; x; x; x; x; )
int main (void)
{
int n = 1;
A(A(A(printf (" %d " , n++))));
return 0;
}


2.模拟栈溢出来实现,具体代码有点依赖编译器:
#include < stdio.h>
#include < stdlib.h>

int count;
void print();
int main()
{
print();
return 0;
}

void print(void)
{
int n[1];
n[2] = (int)print; /*越栈了,实际修改返回地址为print函数指针值*/
if(count< =999)
printf(" %d\n" ,count++);
else
exit(0);
}



3.使用goto,比较容易想到的办法
void print(void)
{
int i = 0;
label:
printf(" %d\n" , i++);
printf(" %d\n" , i++);
if (i > 998)
return;
goto label1;
}

ForestDB 2009-10-13
  • 打赏
  • 举报
回复
12L的牛掰啊。
lzh3ng 2009-10-13
  • 打赏
  • 举报
回复
12楼厉害。
mly20070214 2009-10-13
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 lihan6415151528 的回复:]
while 行么?
[/Quote]
这也算是循环吧
「已注销」 2009-10-13
  • 打赏
  • 举报
回复
膜拜12楼
「已注销」 2009-10-13
  • 打赏
  • 举报
回复
厉害 厉害
加载更多回复(13)

69,369

社区成员

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

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