sprintf cause my program stop working in keil
这是我的主要功能,我不知道为什么当我在 proteos 中模拟它时,我发现代码运行到 sprintf 并且下一行没有运行,当我评论它时”salam”印刷在液晶显示器上
我使用 mingw 编译器并且我已经安装了所有库
诠释主要(无效)
{
/* 用户代码开始 1 */
/* 用户代码结束 1 */
/* MCU 配置——————————————- ————-*/
1
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the system clock */ /* USER CODE BEGIN SysInit */ /* USER CODE END SysInit */ /* Initialize all configured peripherals */ //snprintf(q, 20,"%10d", 1234567); |
问题从这里开始。
1
|
char q[5] ="salam" ;
|
当您在数组边界之外写入时,这是未定义的行为。
当你将
1
|
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/269362.html