php不用循环打印100,不用循环,不用递归,从1打印到100

本文介绍了四种创新的C++编程技巧,用于在不使用循环、递归或goto的情况下打印从1到100的数字。方法包括:调用系统指令、利用信号捕捉、模板参数与继承以及静态变量和数组。这些巧妙的解决方案展示了C++语言的灵活性和创造性。
摘要由CSDN通过智能技术生成

如果不用循环、递归、goto,如何才能用 C++ 从 1 打印到 100 ?

看到这样一篇文章。上面有很多种解法,下面介绍几个好理解一点的:

第一种:在代码中执行系统指令#include 

int main() {

return system("seq 1 100");

}

第二种:利用信号捕捉#include 

#include 

#include 

#include 

#include 

int i = 0;

void sig_alarm_handler(int signal) {

++i;

printf("%dn", i);

if(i 

alarm(1);

else

exit(0);

}

int main() {

signal(SIGALRM, sig_alarm_handler);

alarm(1);

int x;

scanf(" %d",&x);

return 0;

}

第三种:利用模板参数与继承特性#include 

template

struct X : X {

X() { printf("%dn", N); }

};

template<>

struct X<0> {};

int main() {

X<100> x;

return 0;

}

第四种:用静态变量和数组#include 

struct X {

static int i;

X() { ++i; printf("%dn", i); }

};

int X::i = 0;

int main() {

X arr[100];

return 0;

}

就看懂了这几种,感觉简直太神奇了!

19a3006251071c1e272aa1bd9de0349f.gif

19a3006251071c1e272aa1bd9de0349f.gif

19a3006251071c1e272aa1bd9de0349f.gif

19a3006251071c1e272aa1bd9de0349f.gif

19a3006251071c1e272aa1bd9de0349f.gif

19a3006251071c1e272aa1bd9de0349f.gif

19a3006251071c1e272aa1bd9de0349f.gif

19a3006251071c1e272aa1bd9de0349f.gif

19a3006251071c1e272aa1bd9de0349f.gif

19a3006251071c1e272aa1bd9de0349f.gif

19a3006251071c1e272aa1bd9de0349f.gif

19a3006251071c1e272aa1bd9de0349f.gif

19a3006251071c1e272aa1bd9de0349f.gif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值