c - 为什么这个循环只执行了 4 次?

标签 c

<分区>

我是c编程的初学者。我只是想知道为什么这个循环不能正常工作。

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int i;
    char x[8];
    char t;

    for (i = 0; i < 8; i++) {
        scanf("%c", &t);
        x[i] = t;
    }
    return 0;
}

最佳答案

因为当从键盘给出任何输入时,我们需要按回车键来确认输入完成。此输入保留在缓冲区中,如果下一个输入是字符或字符串,则将输入存储在字符串或字符 var 中,不要等待输入该字符或字符串。在这种情况下,执行时给出的第一个输入将 char 存储在 X[0] 中,然后在 x[1] 中输入,依此类推。所以执行循环 8 次但它似乎是 4 次因为它只询问输入四次。检查将一个 printf 放入循环

关于c - 为什么这个循环只执行了 4 次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44878694/

相关文章:

似乎无法让 sscanf() 以我想要的方式工作

c - 使用宽度和边距输出格式化的文本

c - 需要一些提示或帮助得出算法来打印以下内容

c - Ruby 1.9.1-p378 C 扩展 rb_block_call 怪异

c - 有没有办法在保持缓存局部性的同时计算标量积?

c - 如何检查 C 中的特定端口是否可以访问远程主机?

c - 如何从 C 处理程序获取 TCL 脚本名称

c 程序在读取文件时终止

java - JNI 无法在 NetBeans 上检测到 __int64

c - 如何更改指针字符串中的单个字符?