| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1897 人关注过本帖
标题:为什么这个程序在dev c++下可以运行,但在code::blocks运行出错
只看楼主 加入收藏
iceberg0
Rank: 1
等 级:新手上路
帖 子:37
专家分:9
注 册:2012-3-2
结帖率:0
收藏
 问题点数:0 回复次数:8 
为什么这个程序在dev c++下可以运行,但在code::blocks运行出错
为什么这个程序在dev c++下可以运行,但在code::blocks运行出错???
代码如下:
#include <stdio.h>
#include <string.h>

int search(char *p[], char *name);

char *names[]={"Herb", "Rex", "Dennis", "John", "NULL"};

int main()
{
    if(search(names, "Herb") != -1)
        printf("Herb is i list.\n");

    if(search(names, "Mary") == -1)
        printf("Mary not found.\n");
    return 0;
}

int search(char *p[], char *name)
{
    register int t;

    for(t=0; p[t]; t++)
        if(!strcmp(p[t], name))
            return t;
    return -1;
}
求解释
搜索更多相关主题的帖子: search include register 
2012-08-16 23:18
古手梨花
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:7
帖 子:340
专家分:615
注 册:2010-11-1
收藏
得分:0 
Compiling: D:\调测\20.c
Linking console executable: D:\调测\20.exe
Process terminated with status 0 (0 minutes, 0 seconds)
0 errors, 0 warnings
 
Checking for existence: D:\调测\20.exe
Executing: E:\Program Files\CodeBlocks/cb_console_runner.exe "D:\调测\20.exe" (in D:\调测)
Process terminated with status -1073741510 (0 minutes, 11 seconds)
少年是你不会设置BLOCKS

其实我只会一点“hello world”程序。
2012-08-17 00:09
iceberg0
Rank: 1
等 级:新手上路
帖 子:37
专家分:9
注 册:2012-3-2
收藏
得分:0 
回复 2楼 古手梨花
我在blocks下也可以编译成功但是运行时就发生Program received signal SIGSEGV, Segmentation fault.求解!!
2012-08-17 00:20
ldzy
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:64
专家分:339
注 册:2012-7-30
收藏
得分:0 
可能是for(t=0; p[t]; t++)中的界限的问题
char *names[]={"Herb", "Rex", "Dennis", "John", "NULL"};中"NULL"真的是结尾吗
2012-08-17 01:01
iceberg0
Rank: 1
等 级:新手上路
帖 子:37
专家分:9
注 册:2012-3-2
收藏
得分:0 
回复 4楼 ldzy
  在dev c++下编译和运行都正常
但是在code::blocks下时编译能通过  运行时,就只出现了Herb is in list  就出现错误了
2012-08-17 01:43
ldzy
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:64
专家分:339
注 册:2012-7-30
收藏
得分:0 
回复 5楼 iceberg0
指针数组中"NULL"改成NULL试试
2012-08-17 01:45
iceberg0
Rank: 1
等 级:新手上路
帖 子:37
专家分:9
注 册:2012-3-2
收藏
得分:0 
  好了  谢了啊  但是为什么"NULL"在dev c++下可以正常运行啊
2012-08-17 02:23
ldzy
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:64
专家分:339
注 册:2012-7-30
收藏
得分:0 
应该是2L版主所说的吧。这是dev c++对无效内存引用的优化,但是你的code::blocks没有作这样的设定。如果可以这样解释的话,我觉得在dev c++下把"NULL"改成其他的字符串也是可以正常运行的。
2012-08-17 12:15
iceberg0
Rank: 1
等 级:新手上路
帖 子:37
专家分:9
注 册:2012-3-2
收藏
得分:0 
也许应该是这样吧  谢谢了!!!
2012-08-17 13:17
快速回复:为什么这个程序在dev c++下可以运行,但在code::blocks运行出错
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.030161 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved