我正在解析一个用逗号分隔的字符串并打印值,但由于某种原因,如果我在 MPLAB C 编译器上运行此代码,它只会打印第一个值。但是,如果我在 Codeblocks 上运行此代码,它会打印出所有值。
MPLAB 输出
2
码块输出
2
100
200
100
代码:
char somestr[] ="2,0100,0200,0100";
char *pt;
int a;
pt = strtok (somestr,",");
while (pt != NULL)
{
a = atoi(pt);
printf("%d\n", a);
pt = strtok (NULL, ",");
}
我希望输出是这样的
2
0100
0200
0100
那么到底发生了什么?谢谢!