
#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; } }
#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; } }不好意思,刚点错了···
/* 13L:建议你模仿一下优秀的代码风格,按书上的来,最好格式化,便于别人改错,也便于你自己以后查看 */ #include<stdio.h> void main() { int a,lasta=1; while((a=getchar())!=EOF) { if(a!=' ') putchar(a); if(a==' ') if(lasta!=' ') putchar(a) ; lasta=a; } getchar();/* 看看你漏了什么,我帮你改好了 */ }