使用 int 时程序运行良好,但是当我使用 char 时它开始跳行

Posted

技术标签:

【中文标题】使用 int 时程序运行良好,但是当我使用 char 时它开始跳行【英文标题】:Program is running well when use int but when I use char it starts skipping line 【发布时间】:2022-01-10 13:43:09 【问题描述】:

我是 c 编码的新手,我的程序在使用 int 数据类型时运行良好,但是当我使用 char 时它开始跳行。

#include <stdio.h>

int main() 
    int i;
    char k[10];
    for (i = 0; i < 10; i++) 
        printf("enter your character for line %d: \n", i);
        scanf("%c", &k[i]);
    
    for (i = 0; i < 10; i++) 
        printf("your character for line %d are %c \n", i, k[i]);
    

    return 0;

【问题讨论】:

众星云集? 【参考方案1】:

好吧,当您按下 Enter 时,您正在向程序的输入中写入“换行”字符。 而且因为它是角色,%c 正在阅读它。

说明符%c 不像其他说明符那样占用空格,因此您必须通过在%c 之前添加空格来明确告诉scanf 跳过空格,这样您就可以使用" %c" 作为格式。

更多详情可能在这里:https://***.com/a/5240807/2416941

编辑:请注意,这样您无法从用户输入中读取空格或制表符。

【讨论】:

以上是关于使用 int 时程序运行良好,但是当我使用 char 时它开始跳行的主要内容,如果未能解决你的问题,请参考以下文章

Tkinter 程序在 IDE (Visual Studio) 中运行良好,但是当使用 pyinstaller 编译为 .exe 时,线程的工作方式与在 IDE 中不同

应用程序从 ipa 文件崩溃,但从 Xcode 运行良好?

了解 STS:Spring Boot 应用程序在 STS 中运行良好,但使用 gradle 构建 jar 时,构建失败

Angular - JSON Put 和 Delete 返回 403(但邮递员应用程序运行良好)

我的 laravel 项目在 xampp 上运行良好,但是当我尝试使用 php artisan serve 运行它时,它会超时

int main(void) 给出错误