1
我创建了一个程序,它接收用户输入的字符。它会将该字母转换为大写字母并将其显示给最终用户。如何删除C程序中的重复输出?
但是,我收到一个问题,输出中出现了“请输入小写字符:”和下面的一行。我不太清楚是什么原因造成,但这里的节目,我到目前为止有:
#include <stdio.h>
#include <stdbool.h>
#include <ctype.h>
// Converts lowercase letter to uppercase
int main()
{
bool continue_program = true;
printf("Program Running \n");
int lower, upper;
while (continue_program){
printf("Please enter a character in lower case:");
printf("\n");
int lower = getchar();
if(lower=='q' || lower=='Q'){
printf("Goodbye \n");
break;
} else {
upper = toupper(lower);
putchar(upper);
printf("\n");
}
}
return 0;
}
输出例:
./a.out
Program Running
Please enter a character in lower case:
a
A
Please enter a character in lower case:
Please enter a character in lower case:
b
B
Please enter a character in lower case:
Please enter a character in lower case:
p
P
Please enter a character in lower case:
Please enter a character in lower case:
Q
Goodbye
张贴的码具有可变“下部”定义了两次,一次接近的节目的顶部,并再次在while循环的内部。建议只在'while'循环内引用变量,而不是再次定义它。 – user3629249
代码需要使用用户输入所请求的char的换行符char。否则,通过第二次调用getchar()输入一个换行符并处理 – user3629249
不相关,但为什么有一个continue_program变量,然后使用break来退出循环? – GrahamS