作业帮 > 综合 > 作业

假如定义了ch=‘a’,但是我在后面输出的时候打成了putchar('ch'),会出现什么情况?

来源:学生作业帮 编辑:拍题作业网作业帮 分类:综合作业 时间:2024/05/19 19:26:54
假如定义了ch=‘a’,但是我在后面输出的时候打成了putchar('ch'),会出现什么情况?
putchar('ch');
会输出字符h,putchar只输出单个字符,在内部处理时,c会被h覆盖掉
再问: 为什么是c被h覆盖而不是h被c覆盖呢?
再答: 这个要看putchar的原型实现,如果看得懂更好,看不懂的话,就死记硬背也行 #define putchar(_c) putc((_c),stdout) #define putc(_c,_stream) (--(_stream)->_cnt >= 0 \ ? 0xff & (*(_stream)->_ptr++ = (char)(_c)) : _flsbuf((_c),(_stream)))