c - C在scanf之后没有printf到第二行
问题描述
scanf后如何在同一行打印?
我的代码:
int ui;
char up_from_down=179;
printf("%c",up_from_down);scanf("%d",&ui);printf("1 %c\n",up_from_down);
我不知道或不能很好地解释我想要的样子
所以我加了ss
解决方案
如果您的终端支持 ANSI 转义码,这会将光标向上移动一行,然后移至第 10 列,并在与ui
.
#include <stdio.h>
int main()
{
int ui;
char up_from_down=179;
printf("%c",up_from_down);
scanf("%d",&ui);
printf ( "\033[1A");//move cursor up one line
printf ( "\033[10C");//move cursor 10 places
printf("1 %c\n",up_from_down);
return 0;
}
如果您希望打印更接近输入,请使用%n
捕获处理的字符数scanf
并在 ANSI 转义码中使用该值。
#include <stdio.h>
int main()
{
int ui = 0;
int col = 0;
char up_from_down=179;
printf ( "%c", up_from_down);
fflush ( stdout);//no newline in printf so force printing
if ( 1 == scanf ( "%d%n", &ui, &col)) {
col += 2;
printf ( "\033[1A");//move cursor up one line
printf ( "\033[%dC", col);//move cursor to col
printf("1 %c\n",up_from_down);
}
return 0;
}
推荐阅读
- tsql - 在使用 CASE 输出值的 T-SQL 语句中计算 SUM
- vba - 如何使用 vba 代码选择整个工作表
- ios - UITableView 行添加回调未调用
- regex - 正则表达式谷歌分析 - 从 url 过滤目录和语言
- javascript - 使用 CSS 定位 .slick-current 幻灯片两侧的第一个元素
- pandas - 如何使用 timdeltaindex 将 pandas 数据转换为 json?
- javascript - 隐藏覆盖全屏菜单 onclick li 或释放菜单空间
- ios - 如何使我的 SKLabelNode 成为在 SpriteKit 中呈现新视图的元素?
- python - 如何将语句拆分为多行?
- git - 防止 Git 更改被忽略的文件而不删除相同的文件