|
以前我说过KEIL里面写51程序时,如果要使用printf函数时一定要把串口配置好,把TI置1才可以正常使用,但仍然有部分同学遇到一个问题,那就是为什么有时候输出变量不正确,明明是8位的变量最多也就255,居然输出个16位的变量。
原因很简单:printf如果输出变量的话,一定要用unsigned int型才可以,不能用char型!!!
如果是char 或unsigned char的变量要打印出来的话一定强制转换成int 或unsigned int才可以!!!
遇到此类问题的同学可以尝试一下……
举例子:
unsigned int i;
i = 15;
printf("%d\n",i); 可以正确打印
若是
unsigned char i;
i = 15;
printf("%d\n",i); 则会出现错误
需要改一下
unsigned char i;
i = 15;
printf("%d\n",(unsigned int)(i)); 可以正确打印 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。
|