2018.5.15 c语言中的困惑

问题:
这里写图片描述
windows下打印的结果是什么?

我开始认为是ascii码,实际是输出13
这里写图片描述

给a赋值看看结果
这里写图片描述
结果是9
因此我推断我输入的字符a没传到&a里去,可能是scanf没有进行类型转换,类型不统一,直接不接受输入
验证下:

/*显示a的存储区域中存放的值*/
void dump(const unsigned char *buf, int size) {
    int i;

    for (i=0; i<size; ++i) {
        printf("%02x", buf[i]);
    }

    printf("\n");

}

这里写图片描述
d转换成10进制即为13
这里写图片描述

这里写图片描述

猜你喜欢

转载自blog.csdn.net/danieldingshengli/article/details/80323392