#include <stdio.h>
int main(void)
{
char ch;
int number = 0;
printf("please enter the word you want to print: ");
while((ch = getchar() != EOF)) //错误点!
{
switch (ch)
{
case '\n':
printf("\\n");
printf("%d ",ch);
break;
case '\t':
printf("\\t");
printf("%d ",ch);
break;
default:
if(ch < ' ')
{
putchar('^');
putchar(ch+64);
printf(":%d ", ch);
}
else
{
putchar(ch);
printf(":%d ", ch);
break;
}
}
number++;
if(number %10 == 0)
putchar('\n');
}
return 0;
8.2 习题编写一个程序,在遇到EOF之前,把输入作为字符流读取,程序需要打印每个输入的字符及其相应的ASCLL十进制..........
最新推荐文章于 2023-03-04 18:07:57 发布
本文记录了一次编程实践中遇到的问题,即在读取字符流时,由于while循环条件括号错误,导致程序始终只执行default分支且变量ch的值局限在1或0。作者指出,正确的条件应为`(ch = getchar()) != EOF`,并提醒读者注意运算符的优先级和switch语句不适用于浮点型变量。
摘要由CSDN通过智能技术生成