这个小程序的while循环是怎么完成任务的?

#include
#include
#define M 100

int main(int argc, char *argv[])
{
FILE *fp1,*fp2;
char str1[M], str2[M];
int E1,E2;
if( ( fp1=fopen(argv[1],"r") ) == NULL)
{
printf("Can't open %s",argv[1]);
exit(1);
}
if( ( fp2=fopen(argv[2],"r") ) == NULL)
{
printf("Can't open %s",argv[2]);
exit(1);
}
while( 1 )//我不懂???
{
if( (E1=fscanf(fp1,"%s",str1)) == 1 ) puts(str1);
if( (E2=fscanf(fp2,"%s",str2)) == 1 ) puts(str2);
if( E1 != 1&& E2 != 1) break;
}
fclose(fp1);
fclose(fp2);

return 0;

}
while循环作用是让程序打印第一个文件的第一行、第二个文件的第一行、第一个文件的第二行、第二个文件的第二行,依此类推,直到打印完行数较多的文件的最后一行。怎么起作用??

0

查看全部2条回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!