编程:将输入复制到输出,并将其中连续的多个空格替换成一个空格。
ps:题目中写上概还是不好(*^__^*)
代码:
#include <stdio.h>
#include <ctype.h>
#define bool _Bool
#define true 1
#define false 0
/**
C99中没有bool类型,但是有_Bool类型,取值0时为false,非0时为true
*/
void copyIO(FILE *fin, FILE *fout);
int main(int argc, char *argv[])
{
copyIO(fopen("main.c", "r"), stdout);
return 0;
}
void copyIO(FILE *fin, FILE *fout)
{
bool preBlank = false;
int c;
while ((c = fgetc(fin)) != EOF) {
if (' ' == c) {
if (preBlank == true)
continue;
else {
fputc(c, fout);
preBlank = true;
}
} else {
fputc(c, fout);
preBlank = false;
}
}
}
嗯 。。没什么说的