程序代码:
#include <stdio.h> #define NONBLANK 'a' main() { int c, lastc; lastc = NONBLANK; while((c = getchar()) != EOF) { if(c != ' ') putchar(c); if(c == ' ') if(lastc != ' ') putchar(c); lastc = c; } }
#include <stdio.h> #define NONBLANK 'a' main() { int c, lastc; lastc = NONBLANK; while((c = getchar()) != EOF) { if(c != ' ') /* 如果该字符不是空格就输出 */ putchar(c); if(c == ' ') if(lastc != ' ') putchar(c);/* 如果当前是空格就输出,并把当前值赋给lastc,下次如果c的值还是空格,就不输出,而再把值赋给lastc */ lastc = c; } } /* EOF,End Of File,实际上 EOF 的值通常为 -1,但它依系统有所不同。它实际上是个宏定义,你在头文件stdio.h中可以看到它的声明,windows中一般用ctrl+z代表结束码*/
#include <stdio.h> #define NONBLANK 'a' main() { int c, lastc; lastc = NONBLANK; while((c = getchar()) != EOF)//在这里输入‘f’并且回车,所以又两个字符,所以又两次循环,第一次循环,输出'f',第二次输出'回车' { if(c != ' ') putchar(c); if(c == ' ') if(lastc != ' ') putchar(c); lastc = c; } }不好意思,刚点错了···