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循环的一个小技巧”
发表您的评论[审核后显示]












记下了
看来懒是真的有用的...
你的衣服没白发霉...
zonghua 回复 于 11月 6th, 2008 16:26:
衣服都发霉了 真强
学习了, 不过很久没动过C了
不错啊,呵呵
还是习惯第一种写法,只是少一个变量而已,对程序的效率没有多大提高吧。
支持下。。。
支持下
通常我会更懒
for(scanf("%d", &n); n--;){
//ooxx
}
或者
scanf("%d". &n);
while(n--){
//ooxx
}
Slyar 回复 于 11月 6th, 2008 20:14:
第二个我常用~
不过第一个。。。不河蟹~~囧