我们都知道,循环体可以有五种,while、do while、for、goto和递归。
虽然理论上任何循环都可以用其他四种转换,但是因为goto在安全性以及在功能上能够被取代的特点,所以一般不会用到;而递归的特殊性和编写的困难性使递归的登场次数也屈指可数。
那么,当我们需要用到循环的时候,在剩下的循环体中该如何进行选择呢?我们将讨论这几种循环体根本上的差异。
首先我们看下面这个例子:
用for循环实现简单的文件遍历,然后复制字符
char *newpath = "D:\\test\\10_new.txt";
void main()
{
FILE *pfr = fopen(path,"r");
FILE *pfw = fopen(newpath, "w");
for (int ch = fgetc(pfr); !feof(pfr); ch = fgetc(pfr))
{
fputc(ch, pfw); // for循环
}<