[英]replacing two spaces with an 'x' using only putchar and getchar
该程序应仅使用getchar()和putchar()将两个空格替换为x。 我的方法是将空间存储在缓冲区中,然后将其打印出来。 但是该程序用x替换每个空格。 有人可以帮我吗?
#include <stdio.h>
#define MAX 2
char arr[MAX];
int ret = 0;
char second;
int main()
{
for(int i=0; ; )
{
if ( (ret = getchar())!= EOF)
{
putchar(ret);
}
if(ret==' '&&second==' ')
{
arr[i]=ret;
arr[i]='x';
putchar(arr[i]);
}
}
return 0;
}
读取字符时,请先检查它是否为空格。 如果没有,则只打印它。 如果读取了另一个字符,则如果第二个字符是空格,则打印x
否则打印一个空格和您刚刚读取的字符。
int c;
while ((c = getchar()) != EOF) {
if (c != ' ') {
putchar(c);
} else {
c = getchar();
if (c == EOF) {
putchar(' ');
} else if (c == ' ') {
putchar('x');
} else {
putchar(' ');
putchar(c);
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.