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

Program is running well when use int but when I use char it starts skipping line

我是 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;
}

好吧,当您按下 Enter 时,您正在将 'new line' 个字符写入程序的输入。
因为它是字符,%c 正在阅读它。

说明符 %c 不像其他说明符那样消耗 spaces,因此您必须通过添加 [=] 明确告诉 scanf 跳过白色 spaces 29=] 在 %c 之前,所以你的格式是 " %c"

更多细节可能在这里:

编辑: 请注意,这样您无法阅读 space 或用户输入的标签。