c语言-全局变量的输入以及打印

//定义 n 为 4,为什么会输入5次并且输入5此次后程序直接结束了运行,没有执行后面的两次 输入 i 的值


#include
#define n 4
char ch[n];

int main()
{
    printf("请输入4个字符: ");
    int i;
    for(i = 0;i < n; i++)
        scanf("%c ",&ch[i]);
    printf("-------\n请输入i的值: ");
    scanf("%d",&i);
    scanf("%d",&i);
    return 0;
}

img

检查一下编译器及环境吧,代码没有问题的,正常是会执行后面的两次输入 i 的值


#include<stdio.h>
#define n 4
char ch[n];
 
int main()
{
    printf("请输入4个字符: ");
    int i;
    for(i = 0;i < n; i++)
    {
        scanf("%c",&ch[i]);
    }
        
    printf("-------\n请输入i的值: ");
    scanf("%d",&i);
    scanf("%d",&i);
    return 0;
}

循环中scanf里面的空格去掉 终端输入的时候也不要加空格输入 空格也是字符
按照我的程序abcd这样输入再回车