printf("**"); while (1) { char ch = getchar(); if (ch == 8) printf("\b "); } 这是一段c语言代码,为什么if语句没有识别到ch变量是退格键,并删除一个星号
时间: 2024-01-12 12:04:08 浏览: 71
CH数组和字符串实用PPT课件.pptx
和上一个问题类似,这段C语言代码的主要作用也是在屏幕上输出两个星号并且实现类似于密码输入框的效果。每当用户输入一个字符时,会将输入的字符替换成空格。
同样的,这段代码中的if语句无法识别退格键是因为它没有正确判断输入的字符是否是退格键。
在C语言中,退格键的ASCII码为8,因此if语句应该判断输入的字符是否等于8,而不是'8'字符。修改if语句的条件判断语句如下:
```
if (ch == 8)
```
这样就可以正确判断用户输入的字符是否是退格键了。
阅读全文