#include<stdio.h>
#include<string.h>
int main()
{
char str[] = "12";
int ex = 0;
int timerClkSource = 0;
ex = sscanf( str, "%d", &timerClkSource );
printf("returnval %d, timerClkSource %d",ex,timerClkSource);
}
我希望上面的代码返回12,但它返回0.返回代码为0正如预期的那样。我正在使用ccs ide编译msp430微控制器的代码。 msp430是16位微控制器。它是否可以预期?我正在使用代码编辑器工作室ide.If它不是预期的问题在哪里? 注意:它在Precision32 IDE中返回12,但在MSP430 v 5.5.0.00077
中返回no答案 0 :(得分:0)
似乎该函数需要32位整数,尽管它是16架构。
它也可能是一个大端CPU。所以它可能返回12但字节顺序为:
00 00 00 0C
因此,当访问低16位时,您将获得零。