当用C接getchar的值时,无法手动让C指向缓冲区下一个字符,可以增加flag变量,通过空语句,实现当C指向后续空格时,不做任何操作。
#include<stdio.h>
int main(){
int c;
int flag = 0;
while((c = getchar()) != EOF){
if(c != ' '){
putchar(c);
flag = 0;
}
else{
if(flag == 0){
putchar(c);
flag = 1;
}
else{
;
}
}
};
return 0;
}
其中,flag为0表示是第一个空格,flag为1表示非第一个空格,flag初始为0,防止空格开头出现问题。