我用gcc可以编译通过但用./运行的时候出现段错误。。请求

C、C++和Java语言
回复
bemaulat56
帖子: 11
注册时间: 2008-10-03 23:52
送出感谢: 0
接收感谢: 0

我用gcc可以编译通过但用./运行的时候出现段错误。。请求

#1

帖子 bemaulat56 » 2010-11-17 7:32

代码: 全选

#include <stdio.h>
int main (void) {
    FILE *fin  = fopen ("test.in", "r");
    FILE *fout = fopen ("test.out", "w");
    int a, b;
    fscanf (fin, "%d %d", &a, &b);	/* the two input integers */
    fprintf (fout, "%d\n", a+b);
    return 0;
}
moderaterain
帖子: 97
注册时间: 2008-12-31 23:16
送出感谢: 0
接收感谢: 0

Re: 我用gcc可以编译通过但用./运行的时候出现段错误。。请求

#2

帖子 moderaterain » 2010-11-17 9:27

我觉得你可以看看文件有没有成功打开
头像
速腾1994
论坛版主
帖子: 17363
注册时间: 2008-11-01 20:43
系统: Arch+gnome
送出感谢: 23 次
接收感谢: 8 次

Re: 我用gcc可以编译通过但用./运行的时候出现段错误。。请求

#3

帖子 速腾1994 » 2010-11-17 17:31

用DDD
调试
iceworldfb
帖子: 12
注册时间: 2009-03-31 12:15
送出感谢: 0
接收感谢: 0

Re: 我用gcc可以编译通过但用./运行的时候出现段错误。。请求

#4

帖子 iceworldfb » 2010-11-20 8:16

段错误通常是指的指针错误,你需要好好看看你的地址有没有问题~~~然后文件打开之后 为什么不关闭呢??打开文件之前最好加个判断,这样可以很好的分解程序从而找到错误,中间穿插printf找出哪里有断点……
头像
thelover
帖子: 47
注册时间: 2008-09-03 16:16
来自: 江湖
送出感谢: 3 次
接收感谢: 0
联系:

Re: 我用gcc可以编译通过但用./运行的时候出现段错误。。请求

#5

帖子 thelover » 2010-12-14 14:53

不需要创建文件?

fscanf (fin, "%d %d", &a, &b);

用的是fin???? fin是用的r选项!!!


又权限么???r :read w:write!! :em20

多多看书吧!
头像
thelover
帖子: 47
注册时间: 2008-09-03 16:16
来自: 江湖
送出感谢: 3 次
接收感谢: 0
联系:

Re: 我用gcc可以编译通过但用./运行的时候出现段错误。。请求

#6

帖子 thelover » 2010-12-14 15:01

你应该touch出test.in test.out

确定他们的读写权限,编辑test.in为
1 2
回复

回到 “C/C++/Java”