我正在使用strtok解析字符串。我正在解析的字符串可能有两种可能,如“10,5”或“10”。当我解析“10,5”时,我可以成功地将其放入数组中,但是当我有这个“10”时,我有一个项目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

关于c - 使用strtok在C中解析字符串并将其存储在数组中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50283493/

10-14 19:14
查看更多