C 打印一个没有值(value)的字符

标签 c input char printf scanf

我正在尝试打印 3 个字符类型字符的 ASCII 值。当我输入第一个字符时,它不打印字符的值。在第一个字符之后,它开始给出值。

#include <stdio.h>
int main()  {
    char ch;
    int t;
    while(t < 3){
        scanf("%c\n", &ch);
        printf("%c - %d\n", ch,ch);
        t++;
    }
}

http://i54.tinypic.com/2mdqb7d.png

最佳答案

编译器不会自动将变量 t 初始化为 0。所以您需要用 0 初始化 t。如果 printf 没有立即打印,则表示数据已缓冲。如果你想立即看到,你可以考虑在 printf 之后立即刷新标准输出。

关于C 打印一个没有值(value)的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4307903/

相关文章:

android - 如何确定 C 代码是为 Android/NDK 还是 iOS 编译的

c - 将 C for 循环转换为 Pascal

c - 学生数据库管理系统

html - 输入字段具有浏览器记住的初始值,但我不希望它们出现

java - Java 中无法将 int 转换为 string

c - 为什么 NULL 与 '\0' 不同

c - 如何使用 mbedtls 在 libcurl 中加载 PEM 证书和私钥

Java检查用户是否在控制台中输入

perl - 如何在 Perl 中为 <> 混合命令行参数和文件名?

c++ - 我是否应该始终声明比我的字符串大的 char 数组?