C语言 多组数据for循环的一个小技巧

2008年11月05日 22:38 . 分类 编程相关 . 被踩 701 次 .

文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

在OJ做题的时候,我们经常会看到题目说:输入有多组数据。输入的第一行输入一整数N,表示有多少组数据。

这时我们就会写出如下代码来实现这句话:

int i,n;
scanf("%d",&n);
for (i=1;i<=n;i++){
}

这样写没错,但是有一种更好的方法:

int n;
scanf("%d",&n);
for (;n>0;n--){
}

或者(felix提醒)

int n;
scanf("%d",&n);
while(n--){
}

看到了么?使用这个小技巧,就可以让我们节省一个变量。所以,当我们的循环变量不参与循环体的操作时,我们就可以用这个方法来使得程序更加小巧。

您可能还对以下内容感兴趣

收藏、分享这篇文章! 用 RSS feed 订阅本博客 什么是订阅? Trackback

评论

9 条评论 关于 “C语言 多组数据for循环的一个小技巧”

  1. 由 Jet 发表于 2008年11月05日 23:30

    记下了
    看来懒是真的有用的...
    你的衣服没白发霉...

    zonghua 回复 于 11月 6th, 2008 16:26:

    衣服都发霉了 真强

  2. 最新电影 发表于 2008年11月06日 01:05

    学习了, 不过很久没动过C了

  3. 由 枫叶 发表于 2008年11月06日 09:16

    不错啊,呵呵

  4. zonghua 发表于 2008年11月06日 09:46

    还是习惯第一种写法,只是少一个变量而已,对程序的效率没有多大提高吧。

  5. guotie 发表于 2008年11月06日 09:52

    支持下。。。

  6. yadandimao 发表于 2008年11月06日 14:59

    支持下

  7. felix021 发表于 2008年11月06日 19:54

    通常我会更懒
    for(scanf("%d", &n); n--;){
    //ooxx
    }
    或者
    scanf("%d". &n);
    while(n--){
    //ooxx
    }

    Slyar 回复 于 11月 6th, 2008 20:14:

    第二个我常用~

    不过第一个。。。不河蟹~~囧

发表您的评论[审核后显示]




关闭
E-mail It