不实现putchar函数的话,也可以编译通过, 但是printf并未输出。写了putchar函数后,又会出现redefinition的错误。
解决办法是,打开stdio.h头文件,注释掉“extern char putchar (char);”
解决办法2: 修改putchar函数定义, 改为char putchar(char c)
在c51里如果用%d格式化char类型的变量,需要将变量强制转化为int才能正常输出。或者,用%bd来格式化字节变量,用%hd来格式化双字节变量。
本文探讨了在C语言编程中遇到的putchar函数重定义问题,提出了解决方案:一是注释掉stdio.h头文件中的putchar声明,二是修改函数定义。同时,指出了在C51环境下使用%d格式化char类型变量时需要注意的转换规则,以及对应的格式化选项%bd和%hd的使用。
不实现putchar函数的话,也可以编译通过, 但是printf并未输出。写了putchar函数后,又会出现redefinition的错误。
解决办法是,打开stdio.h头文件,注释掉“extern char putchar (char);”
解决办法2: 修改putchar函数定义, 改为char putchar(char c)
在c51里如果用%d格式化char类型的变量,需要将变量强制转化为int才能正常输出。或者,用%bd来格式化字节变量,用%hd来格式化双字节变量。
3471

被折叠的 条评论
为什么被折叠?