使用strtok解析C中的字符串并存储在数组中

Parsing string in C using strtok and store in array

我正在使用 strtok 解析字符串。我正在解析的字符串可能有两种可能性,如 "10,5""10"。当我解析 "10,5" 时,我可以成功地将 then 放入数组中,但是当我有这个 "10" 时,我有 1 项 10另一个项目是数组中的一个大整数。

这是我的代码

   int array[2];
   char *p = strtok (argv[1], ",");
   while (p != NULL)
   {
       array[n++] = atoi(p);
       p = strtok (NULL, ",");
   }

请问有什么处理方法的建议吗?

你还没有初始化数组,所以如果循环只找到一个数字,你会得到第二个元素中的任何未初始化的垃圾。

int array[2] = {0, 0};

会将两个元素初始化为 0。如果输入只有 10,数组将包含 10, 0.