我想在Keil中使用sprintf();
函数。但我有恼人的警告。让我用下面的示例代码部分来解释我的警告。当我调试时,我得到;Keil中sprintf令人讨厌的警告
警告:#167-d:类型的参数 “uint8_t *” 是类型的参数不兼容 “的char *限制”
它提醒我关于格式类型的线。
我知道sprintf函数不是一个好的解决方案,但我真的很想知道为什么这个警告炫耀?
感谢
#include "stm32l0xx.h" // Device header
#include <stdio.h>
void LCD_show(uint32_t s_value)
{
uint8_t str[9], i;
for (i = 0; i < 9 ; i++) str[i] = 0;
sprintf(str, "%9ld", s_value);
}
什么是's_value'?它不在您提供的代码中。 –
对不起,s_deger和s_value之间的区别是相同的,我只是在做拷贝时犯了错误。只是改变了。 –
'uint8_t str [9],i;'>'char str [9],i;'。或者使用cast:'sprintf((char *)str,“%9ld”,s_value);' –