不实现putchar函数的话,也可以编译通过, 但是printf并未输出。写了putchar函数后,又会出现redefinition的错误。
解决办法是,打开stdio.h头文件,注释掉“extern char putchar (char);”
解决办法2: 修改putchar函数定义, 改为char putchar(char c)
在c51里如果用%d格式化char类型的变量,需要将变量强制转化为int才能正常输出。或者,用%bd来格式化字节变量,用%hd来格式化双字节变量。
不实现putchar函数的话,也可以编译通过, 但是printf并未输出。写了putchar函数后,又会出现redefinition的错误。
解决办法是,打开stdio.h头文件,注释掉“extern char putchar (char);”
解决办法2: 修改putchar函数定义, 改为char putchar(char c)
在c51里如果用%d格式化char类型的变量,需要将变量强制转化为int才能正常输出。或者,用%bd来格式化字节变量,用%hd来格式化双字节变量。