warning:format specifies type ‘int‘ but the argument has type ‘ int (*) ()‘
keil报错及其解决方法
printf
函数调用中,警告信息表明格式字符串指定了 int
类型,但提供的参数却是一个函数指针类型(int (*)()
)。这通常意味着在使用 printf
时,提供了错误的参数类型。让我们来看看这个问题:
- 格式字符串
%d
:这告诉printf
函数期望一个int
类型的参数。 - 参数
motor_left1
:根据错误信息,motor_left1
实际上是一个返回int
类型的函数指针,而不是一个int
类型的值。
如果意图是打印由 motor_left1
函数返回的整数值,应该先调用这个函数,并将返回值传递给 printf
。修改代码如下
printf("%d \n", motor_left1());
作者:x__xR