代码作曲家工作室中的sscanf读取0而不是值

时间:2014-06-11 13:00:10

标签: c scanf

#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

1 个答案:

答案 0 :(得分:0)

似乎该函数需要32位整数,尽管它是16架构。

它也可能是一个大端CPU。所以它可能返回12但字节顺序为:

00 00 00 0C

因此,当访问低16位时,您将获得零。