当前位置:嗨网首页>书籍在线阅读

04-C风格读取循环

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

6.1.2 C风格读取循环

根据伪代码的设计思路,程序清单6.1可以用Pascal、BASIC或FORTRAN来编写。但是C更为简洁,下面的代码:

status = scanf("%ld", &num);
while (status == 1)
{
     /* 循环行为 */
     status = scanf("%ld", &num);
}

可以用这些代码替换:

while (scanf("%ld", &num) == 1)
{
     /*循环行为*/
}

第二种形式同时使用 scanf() 的两种不同的特性。首先,如果函数调用成功, scanf() 会把一个值存入 num 。然后,利用 scanf() 的返回值( 01 ,不是 num 的值)控制 while 循环。因为每次迭代都会判断循环的条件,所以每次迭代都要调用 scanf() 读取新的 num 值来做判断。换句话说,C的语法特性让你可以用下面的精简版本替换标准版本:

当获取值和判断值都成功

处理该值

接下来,我们正式地学习 while 语句。