You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C语言使用gets()函数时如何为用户输入内容添加制表符缩进

C语言输入内容缩进实现方案

修改后可直接运行的代码

#include <stdio.h>
int main()
{
    char name[30];
    printf("\tEnter Your Name = \n");
    // 输入前先输出制表符,让光标移动到缩进位置
    printf("\t");
    gets(name);

    char address[100];
    printf("\tPlease enter your address = \n");
    printf("\t");
    gets(address);

    printf ("\tYour name is = %s\n", name);
    printf("\tYour address is = %s", address);

    getchar();
    return 0;
}

改动说明

  • 核心逻辑:你原代码仅给提示文本加了制表符缩进,提示文本输出后换行会把光标重置到新行的最左侧,用户此时输入的内容自然没有缩进。只需要在每次调用输入函数前,先输出一个\t制表符,将光标移动到缩进位置后再等待用户输入,就能实现你要的效果。
  • 安全优化建议:gets()函数没有输入长度校验,存在严重的缓冲区溢出风险,已经被C11及后续标准正式删除。如果你的作业允许替换输入函数,建议用更安全的fgets(),用法为fgets(存储数组名, 数组长度, stdin);,如果不需要保留输入末尾自动带的换行符,可以手动通过name[strcspn(name, "\n")] = '\0';的方式清除。

内容的提问来源于stack exchange,提问作者Zeref slayer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 11:06:01