Rock_magician
2021-09-13 15:36
采纳率: 50%
浏览 34

c++图书馆导入系统输入部分出现异常:Segmentation fault


/*
 * @Author: your name
 * @Date: 2021-09-13 14:37:01
 * @LastEditTime: 2021-09-13 15:17:19
 * @LastEditors: Please set LastEditors
 * @Description: In User Settings Edit
 * @FilePath: \FILE\FILE\C++\book\shiyan.cpp
 */
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(void)
{
    int i,a,b,c,d,e,riqi[100]={};
    char shumi[100][100]={"无"},zuozhe[100][100]={"无"},chubanshe[100][100]={"无"};

    printf("请输入编号:");
    scanf("%d",&a);
    printf("请输入书名:");
    scanf("%s",shumi[b]);
    printf("请输入作者:");
    scanf("%s",zuozhe[c]);
    printf("请输入出版社:");//出现异常:Segmentation fault
    scanf("%s",chubanshe[d]);
    printf("请输入出版日期:");
    scanf("%d",riqi[e]);

    FILE *fp;
    fp=fopen("E:\\book.txt","w");
    printf("\t以下为目录:\n");
    printf("\t编号|\t书名|\t 作者|\t 出版社|\t 出版日期|\t价格\t\n");
    for(i=0;i<5;i++)
    { 
        fprintf(fp,"\t|%d\t%s\t%s\t%s\t%d|\t\n ",a,shumi[b],zuozhe[c],chubanshe[d],riqi[e]);//先写文件
        printf("\t|%d\t%s\t%s\t%s\t%d|\t\n ",a,shumi[b],zuozhe[c],chubanshe[d],riqi[e]);//后回显
        fflush(fp);
        fclose(fp);
    }
    system("pause");
}

若删除出版日期和出版社及相关内容可以正常运行,但若添加任何东西则弹出 出现异常:Segmentation fault

  • 好问题 提建议
  • 收藏

2条回答 默认 最新

  • CSDN专家-link 2021-09-13 15:50
    已采纳

    scanf("%s",shumi[b]);
    scanf("%s",zuozhe[c]);
    这类语句都是不行的,a,b,c,d,e应该初始化为0
    另外下面的for循环也不知道要干啥,b,c,d,e都是固定值,写那么多遍干啥啊?

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • CSDN专家-sinjack 2021-09-13 15:44

    int i,a,b,c,d,e
    定义的这些参数没有初始化

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题