LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 905|回复: 11

又是段错误!

[复制链接]
发表于 2005-4-25 17:52:38 | 显示全部楼层 |阅读模式
程序如下:
      1 #include <stdio.h>
      2 char *find_char( char  *source, char  *chars );
      3 int main( void )
      4 {
      5         char *p = "abcde";
      6         char *q = "gggggc";
      7         char *n ;
      8         n = find_char( p, q);
      9 //      printf("%c\n",*n);
     10 }
     11 char *find_char( char *source, char *chars )
     12 {
     13         char *q;
     14         char *p;
     15         for(q = chars; *q!='\0';q++)
     16         {
     17                 for(p = source; *p!='\0'; p++)
     18                 {
     19                         if(*q == *p)
     20 //                      printf("%c\n",*p);
     21                                 return p;
     22                 }
     23         }
     24         return NULL;
     25 }
为什么报段错误呢?
发表于 2005-4-25 19:05:22 | 显示全部楼层

  1. 1 #include <stdio.h>
  2. 2 char *find_char( char *source, char *chars );

  3. 3 int main( void )
  4. 4 {
  5. 5     char *p = "abcde";
  6. 6     char *q = "gggggc";
  7. 7     char *n ;
  8. 8     n = find_char( p, q);
  9. 9     // printf("%c\n",*n);
  10. 10}

  11. 11 char *find_char( char *source, char *chars )
  12. 12 {
  13. 13     char *q;
  14. 14     char *p;
  15. 15     for(q = chars; *q!='\0';q++)
  16. 16       {
  17. 17         for(p = source; *p!='\0'; p++)
  18. 18           {
  19. 19              if(*q == *p)
  20. 20              // printf("%c\n",*p);
  21. 21               return p;
  22. 22           }
  23. 23     }
  24. 24    return NULL;
  25. 25 }


复制代码
回复 支持 反对

使用道具 举报

发表于 2005-4-25 19:25:04 | 显示全部楼层
最近好像很流行段错误,我正在编译koffice 1.4b1,总是在我不看着它的时候以g++的段错误退出。结果再接着make就行了。郁闷……
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-26 09:09:49 | 显示全部楼层
有谁会的教教我呀!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-26 09:18:19 | 显示全部楼层
搞定啦,哈哈
原来是返回NULL时如果对NULL进行间接引用的话不行的。my god~~~~~~~~~~
回复 支持 反对

使用道具 举报

发表于 2005-4-26 09:34:50 | 显示全部楼层
你return的时候,语法编译妻,没有说错/??
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-27 09:14:47 | 显示全部楼层
没有,这点我也没想明白,不知道是怎么回事呢!
回复 支持 反对

使用道具 举报

发表于 2005-4-27 22:33:05 | 显示全部楼层
yun,错哪了,我怎么没看出来??
回复 支持 反对

使用道具 举报

发表于 2005-4-28 09:35:45 | 显示全部楼层
你用什么编译器啊?
我用gcc-3.3.4
没有段错误啊
回复 支持 反对

使用道具 举报

发表于 2005-4-29 11:25:11 | 显示全部楼层
搂主的代码很正常,没错误,要是在main函数最后加上个exit(0)或者return 0就更好了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表