C怎么实现键盘输入后右对齐输出?-灵析社区

万码JFG3236P

``` c++ while (form[n1++] = _getch()) { if (form[n1 - 1] == '=') break; if (form[n1 - 1] == 'd' || form[n1 - 1] == 'D') { printf("\b \b\b \b"); n1 -= 2; continue; } if (form[n1 - 1] == 'q' || form[n1 - 1] == 'Q') exit(0); printf("%c", form[n1 - 1]); } ``` 以上是我的源码,想要代码实现不回车就读取键盘输入 ![https://wmprod.oss-cn-shanghai.aliyuncs.com/community/1724819161736_03fY.png](https://wmprod.oss-cn-shanghai.aliyuncs.com/community/1724819161736_03fY.png)

阅读量:117

点赞量:0

问AI
可以使用数组来打印,假设输入的数字最大有10位,则定义一个11个元素的数组,最后一个元素用来接收键盘输入。每次输入后,数组中前一位接收后一位的元素值,再利用cls清屏就能达成效果 #include #include #include int main() { char arr[11] = { 0 }; int n = 0, j = 0; char ch = 0; while ((ch = _getch()) != '\r') { if (j++ == 10) break; arr[10] = ch; for (n = 0; n < 10; n++) { arr[n] = arr[n + 1]; } system("cls"); for (int m = 0; m < 10; m++) { if (arr[m] == '\0') printf(" "); printf("%c", arr[m]); } } system("pause"); return 0; }