C语言如何让光标向前进一格

想要把光标向前进一格,实现与\b相反的效果
编译器为Dev c++

如果想将光标向右移动一格,可以使用 ANSI 转义序列\033[C,其中 C 表示向右移动的格数:

#include <stdio.h>

int main() {
    printf("Hello");
    printf("\033[1C"); // 将光标向右移动 1 格
    printf(" World\n");
    return 0;
}

 
如果答案对您有所帮助,望采纳。

  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7690644
  • 除此之外, 这篇博客: 【蓝桥杯预备营集结一】软件类 C/C++ 预备试题分析及解答中的 🚩激光样式 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • ⭐️题目

    x星球的盛大节日为增加气氛,用30台机光器一字排开,向太空中打出光柱。安装调试的时候才发现,不知什么原因,相邻的两台激光器不能同时打开!国王很想知道,在目前这种bug存在的情况下,一共能打出多少种激光效果?

    ⭐️分析

    显然,如果只有3台机器,一共可以成5种样式,即:

    • 全都关上
    • 开一台,共3种
    • 开两台,只1种

    30台思路很简单,暴力搜索,30个灯光从左到右,从左边第一个开始,第一个可以开关,第二个要根据左边的灯光是否开启来取值,以此类推。。。

    ⭐️代码

    1.	#include<iostream> 
    2.	#include<string.h> 
    3.	using namespace std;
    4.	int ans = 0;
    5.	int x[31];//0代表关,1代表开 
    6.	 
    7.	void dfs(int index){
    8.	    if(index == 30){
    9.	        ans++;
    10.	        return;
    11.	    }
    12.	    if(index == 0 || x[index-1] == 0){  //第一个灯光可以取0或1,当前灯光左边要是没开,那当前灯光可以取0和1 
    13.	        for(int i=0;i<=1;i++){
    14.	            x[index] = i;
    15.	            dfs(index+1);
    16.	            x[index] = 0;
    17.	        }
    18.	    }
    19.	    else{ //左边的灯光开了,那当前灯光只能关闭(取0) 
    20.	        dfs(index+1);
    21.	    }
    22.	}
    23.	 
    24.	int main(){
    25.	    memset(x,0,31*sizeof(int));
    26.	    dfs(0);
    27.	    cout<<ans<<endl;
    28.	    return 0;
    29.	}

    🎉答案:2178309