滴水逆向联盟
标题:
for 语句的三个表达式是必须的吗?
[打印本页]
作者:
大禹治水
时间:
2014-11-17 07:23
标题:
for 语句的三个表达式是必须的吗?
for 语句一共有3个表达式,
表达式一: 通常是用来为循环变量赋初值的。
表达式二: 通常是控制循环条件的。
表达式三: 通常用来修改循环变量的值。
在编写程序的过程中,这3个表达式都可以根据情况来进行省略。
《1》在for 语句中省略表达式一,就会跳过给循环变量赋初值的这一步,则应该在for之前给循环变量赋值。
、
for(;i<10;i++)
复制代码
例如: 实现1到100数字之间的累加计算,省略for 语句中的第一个表达式,代码如下:
#include<stdio.h>
int main()
{
int i=1;
int iSum=0;
//使用for循环
for(;i<=100;i++)
{
iSum=i+iSum;
}
printf("1 到 100 之间的累加结果为:%d\n",iSum);
return 0;
}
复制代码
从运行代码上看到 for 语句中将第一个表达式省略,而在定义 i 变量时直接为其赋初值,
这样在使用 for 语句循环的时候就可以不用为 i 赋初值,从而省略了一个表达式。
程序运行结果如下图:
QQ截图20141117070839.png
(3.34 KB, 下载次数: 470)
下载附件
保存到相册
2014-11-17 07:08 上传
《2》 for 语句中省略表达式2,即不判断循环条件,循环将无休止的进行下去,也就是说表达式默认为真。
for(iCount=1;;iCount++)
{
sum=sum+iCount;
}
复制代码
在括号中,表达式1为赋值表达式,二表达式2是空缺的,这样就相当于使用 while 语句。
int sum=0;
int iCount=1;
while(1)
{
sum=sum+iCount;
iCount++;
printf("%d\n",iCount);
}
复制代码
注意:表达式2为空即为 ,无休止的循环
复制代码
《3》for 语句中省略表达式3,但此时程序设计人员应该另外设法保证循环能正常的结束,否则也就是死循环。
int sum=0;
int iCount=0;
for(iCount=1;iCount<50;)
{
sum=sum+iCount;
iCount++;
printf("%d\n",sum);
}
复制代码
《4》如果3个表达式都省略,这是一个永无休止的循环。
作者:
大灰狼
时间:
2014-11-17 09:30
一起学习,努力奋斗哦:P
作者:
熊大
时间:
2014-11-18 10:35
第一次看到这问题。
作者:
bcjc209
时间:
2016-12-9 10:45
懂了,多谢!
欢迎光临 滴水逆向联盟 (http://dtdebug.com/)
Powered by Discuz! X3.2