c-C 在做USACO Greedy Gift Givers的时候遇到bus error 10

问题描述

C 在做USACO Greedy Gift Givers的时候遇到bus error 10

下面是我的代码 (C语言)

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

FILE *input_file, *output_file;

int total_people, giving_to_counter, accepting, having[9];

char giver[9][13], receiver[9][13], person;

int people_scaner, people_judger;

int main () {
    input_file=fopen("gift1.in", "r");
    output_file=fopen("gift1.out", "w+");

    fscanf(input_file, "%dn", &total_people);

    people_scaner = 0;

    while(people_scaner<total_people){
        people_scaner ++;
    }

    fscanf(input_file, "%s", &person);
    printf("%sn", &person);

    people_judger = 0;

    do{
        people_judger ++;
    } while (strcmp(&person, giver[people_judger]) !=0);

    fscanf(input_file, "%d%d", &having[people_judger], &giving_to_counter);
    printf("%dn%sn%dn%dn", people_judger, giver[people_judger], having[people_judger], giving_to_counter);

    fclose(input_file);
    fclose(output_file);
    return 0;
}

下面是要读取的文件

5
dave
laura
owen
vick
arm
dave //这一行除了dave会遇到bus error 10以外,别的人名都不会有此问题
200 3
laura
owen
vick
owen
500 1
dave
arm
150 2
vick
owen
laura
0 2
arm
vick
vick
0 0

非常感谢您的回答:)

解决方案

来自stackoverflow的答案,一开定义了 char person,这是错误的,应该定义成char person[13]

解决方案二:

参考:http://www.cnblogs.com/liuxueyang/archive/2013/05/21/3090546.html

时间: 2024-08-18 09:44:37

c-C 在做USACO Greedy Gift Givers的时候遇到bus error 10的相关文章

c-C語言 请教bus error 10,USACO Greedy Gift Givers

问题描述 C語言 请教bus error 10,USACO Greedy Gift Givers 代碼如下 /* LANG: C TASK: gift1 */ #include <stdio.h> #include <stdlib.h> #include <string.h> FILE *input_file, *output_file; int total_people, gift, numbers_of_recever, money_giving[9]; int s

strcmp-C语言 如何将 两字符串的比较结果 作为 if 的判断条件

问题描述 C语言 如何将 两字符串的比较结果 作为 if 的判断条件 例如我有兩個字符串 char i[9][13], j[13]; 应该如何正确地將 i[2(或由前面的语句提供的一个数作)] ==(或!=) j 作为 if语句的判断条件?(或!=) 我试过 if(strcmp(i[n], j) !=0) //string.h 和 if(i[n]!=j) 上面两个if代码片段都嵌套与一个for代码块,n由for提供 程序都没办法正确执行这个if判断,而是直接跳过了if代码块,执行下面的语句 #i

如何做到多个站点一起做优化推广

估计整日在admin5闲逛的朋友们肯定有许多是在网络公司上班的吧,嗯,我也是,在网络公司做seo,待遇一般都是底薪+提成的,推广上去的站点关键词越多,提成也就会越多.很多人可能认为能力有限,一般都是操作3个左右的站点,这样月薪也不会太高!我是个急着挣钱的人,所以公司只要有优化的单子,我就会拿来做!现在在这里和大家分享一下我是怎样做的吧! 1.分析网站数据 10个站点的行业竞争度.关键词的搜索量.站内的优化程度.各大搜索引擎的收录情况.外链数量.网站的pr值(或许google的pr值已经没太大意义

一个站能不能同时做竞价和优化

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 排名上不来让人头疼,可是排名上来了也让人头疼.为什么呢,因为很多人都怕排名上来了百度可能要打电话过来叫你做竞价,如果你不做竞价那么就将你的网站数据在搜索引擎里面清除.实际上排名上来了给不给我们打电话,给我们打电话如果不做会有什么样的惩罚这样一个事情我无法考证.但我知道一个站如果做了优化那么就不再适合做竞价站了. 为什么说优化站不再适合做竞价站

俺自己的故事,俺做站的历程

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断淘宝客 站长团购 云主机 技术大厅 现在的垃圾站越来越多了,我也是个新人,从垃圾站开始下手~ 我是在我哥这学的点东西~今年7月他刚开始给了我一个100M的空间,一个域名~我的网站生涯就这样开始了` 我哥刚好那段时间在做手机铃声站,他叫我跟他一起做~~我同意了`他就一起找了个目标站,我们反照目标站做,我用几天时间把目标站给采下来了,被百度收录的第一天来了几个IP,我做博客

探究互联网怎样做用户和流量

对于互联网的发展来说,做流量.做用户不是一劳永逸的,必须是一个机动化.持久化.长期的运作,下面我们就来一起探究一下互联网怎样做用户和流量. 为什么要做流量? 首先,做流量本质上是做用户,做产品.这不是雇几个小孩,花钱买广告, 或雇几个商务运营就可以自动解决的事情.本质上需要CEO.产品经理自己去想,而这里面其实误区非常多. 一个错误是,简单化冲指标.当年的互联网公司,无论是视频网站还是财经网站,经常在网盟里放一些丰胸.裸女这种火爆的标题,把流量导到自己的网站.他们投入很多来提升自己网站近期的运营

游标-需要需要往同一张表插入 多条 主键递增 其他字段数值完全相同的几条数据 (数据就来自这张表)怎么做?

问题描述 需要需要往同一张表插入 多条 主键递增 其他字段数值完全相同的几条数据 (数据就来自这张表)怎么做? 需要需要往同一张表插入 多条 主键递增 其他字段数值完全相同的几条数据 (数据就来自这张表)怎么做? 解决方案 declare aa integer :=1; begin while aa<10 loop insert into test values('test',aa); aa:=aa+1; end loop; end; 解决方案二: 比如你的表的结构是 a(id,name,age

激光近视手术市场乱象丛生:使用二手设备做手术

日前台湾眼科权威蔡瑞芳宣布,为防手术后遗症,他个人将停做准分子激光近视矫正手术,一时引爆社会各界对激光近视矫正手术安全风险的争议.2月26日,中国医师协会眼科分会发表声明回应,称激光矫正手术安全有效.受累于"封刀论"引发的恐慌情绪,爱尔眼科[21.73 0.32% 股吧 研报]股价震荡,而消费者对手术的需求出现"冷热互现"的局面.同时,随着讨论的 深入,设备陈旧.虚假广告等行业乱象逐渐成为新焦点,专家指出规范市场是降低激光矫正手术安全风险的唯一途径. 手术风险争议殃

微信之父张小龙:怎样做简单的产品经理?八

我们进到邮箱里为什么会浏览邮件列表?因为你一天可能收到几封新邮件,它必须按时间列在那里.但附件是你历史的东西,它可能是很早以前的,而且因为 太多了,你根本不可能把它浏览完.你真正找到的时候,你也不会用预览的方式去一个个下载.对于当前页来说,我也并没有一个要分组查看的需要,虽然这个东西 很高级,但问题是这个需求不存在,这是最大的问题. 也就是说我们做了很多东西,对用户来说不是他需要的,我们完全做偏了.我当时就问我们一个产品经理,说这个东西可能不是用户需要的,你们这样做了, 用户也不会买账,他进来一