c - 在字符串数组上使用指针的段错误

标签 c pointers segmentation-fault

嗨,我编写了这段测试代码,在第三次迭代时产生段错误...使用调试器我看到了 tokens[count] 的值,它是正确的,但在最后一次迭代中出现了段错误, str_split 使用 ; 分割字符串作为除数(有效) 有人可以帮忙吗?

   sportello[0].elenco_ris[0]=strdup("string;of;test");
   tokens=str_split(sportello[0].elenco_ris[0],';');

   int p=0;
   int count=0;
   int lungh=strlen("");
        while(p!=-1){
            lungh=strlen(tokens[count]);
            if(lungh!=0){
                printf("\nprinto: %s",tokens[count]);
                count++;
            }
            else p=-1;

        }

打印:字符串 打印: 的

运行完成;分段故障;实时:0ms;用户:0ms;系统:0ms

最佳答案

好吧,我解决了……问题就是我所想的……感谢 @Joachim Pileborg 的评论,我已经尝试过这个(NULL)……所以谢谢大家

`int p=0;
       int count=0;
            while(p!=-1){
                if (tokens[count] != NULL){
                    printf("\nprinto: %s",tokens[count]);
                    count++;
                }
                else p=-1;

            }`

关于c - 在字符串数组上使用指针的段错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27928166/

相关文章:

将 Excel 公式转换为 C

c++ - 在 C++ 中实例化指向新对象的指针时出现问题

c - 为什么对于指针 *p,p[0] 是存储在 p 的地址而 p[1] 是 p 本身的地址?

c - 如何使用指针遍历结构中的内存块?

c - 为什么这个 JNI 只在 Windows 上调用段错误?

c++ - 分析堆栈损坏的核心转储

c - 结构内部的结构和类型转换

c - 求和/添加整数数组中的所有其他组件失败

c - 为什么两个 FOR 循环的相同变量声明是正确的?

c++ - 在 C 中创建数组时出现段错误