这是做作业用的。必须只使用getchar和putchar。
int main(void) {
int pch; //first
int ch; //second
while(1){
pch=getchar();
ch=getchar();
if(((pch>='A' && pch<='Z')) && ((ch>='A' && ch<='Z'))){
putchar(ch);
putchar(pch);
}
if((pch>='A' && pch<='Z') && ch=='\n') putchar(pch);
if(pch=='\n' || ch=='\n') break;
}
return EXIT_SUCCESS;
}我需要使用getchar和putchar交换字符。以巴黎APIRS为例
但我需要按两次当我的字母数为4,6,8.。我该如何消除这种行为?有什么方法可以杀死\n为getchar
发布于 2014-09-23 15:40:41
我输入了PAR,按了一次回车,得到了APR。我相信这就是你想要的。
有什么方法可以杀死\n吗?
你需要这样做:
char1 = getchar();
getchar(); // To kill `\n`
char2 = getchar();
getchar(); // To kill `\n`同样,按照mch的建议,您可以:
if(pch == '\n') break;后pch=getchar();
因此,您应该将程序更改为:
#include <stdio.h>
int main(void) {
int pch; //first
int ch; //second
while (1) {
pch = getchar();
if (pch == '\n') // when you hit enter once, break the loop
break;
ch = getchar();
if (((pch >= 'A' && pch <= 'Z')) && ((ch >= 'A' && ch <= 'Z'))) {
putchar(ch);
putchar(pch);
}
if ((pch >= 'A' && pch <= 'Z') && ch == '\n')
putchar(pch);
if (pch == '\n' || ch == '\n')
break;
}
return 0;
}https://stackoverflow.com/questions/25998983
复制相似问题