我试图在用scanf键入时显示最后一个printf,但是我似乎无法理解。我很新,所以很抱歉以前是否有人问过这个问题。
#include<stdio.h>
main(){
int f;
printf("*************\n");
scanf("%d", &f);
printf("*************");
}
答案 0 :(得分:2)
我想,您*真正*想要做的是像这样在两行星号之间进行用户输入:
*************
42
*************
如果是这样,并且您的终端了解ANSI转义序列,则可以通过以下方式实现:
#include <stdio.h>
int main(void)
{
printf("*************\n\n*************\n\033[2A");
int f;
scanf("%d", &f);
}
在Windows上,可能需要将控制台模式设置为ENABLE_VIRTUAL_TERMINAL_PROCESSING
:
#include <windows.h>
// ...
auto output_handle = GetStdHandle(STD_OUTPUT_HANDLE);
DWORD mode;
GetConsoleMode(output_handle, &mode);
SetConsoleMode(output_handle, mode | ENABLE_VIRTUAL_TERMINAL_PROCESSING);