簡體   English   中英

當我在 Turbo c++ 中執行以下程序時,它不讓我輸入書名和作者姓名,而是顯示“異常終止”

[英]When i execute the following program in turbo c++ its not letting me enter the book title and author's name instead it shows 'abnormal termination'

#include<stdio.h>
#include<conio.h>

struct books {
    int id;
    char title;
    char author;
    int year;
    long isbn;
};

int main() {
    struct books b;
    clrscr();
    printf("\n Enter BOOK ID: ");
    scanf("%d",&b.id);
    printf("\n Enter BOOK TITLE: ");
    scanf("%s",&b.title);
    printf("\n Name of AUTHOR: ");
    scanf("%s",&b.author);
    printf("\n Enter YEAR: ");
    scanf("%d",&b.year);
    printf("\n Enter ISBN: ");
    scanf("%d",&b.isbn);
    printf("\n BOOK ID: %d \n ",b.id);
    printf("\n TITLE: %s \n ",b.title);
    printf("\n AUTHOR: %s \n ",b.author);
    printf("\n YEAR: %d \n ",b.year);
    printf("\n ISBN: %d \n ",b.isbn);
    getch();
    return 0;
}

現在,當我執行此操作時,我可以輸入 id、year 和 isbn 的值,但要輸入標題和作者的值,當我輸入顯示“異常終止”的名稱時,有人可以告訴我我做錯了什么嗎?

您輸入的標題是std::string但您使用的char可能會導致錯誤。 此外,您長時間使用%d是錯誤的,因為您應該為此使用%ld

不僅如此,有時不是您的代碼產生錯誤,而是 Turbo C++ 導致它。 因此,嘗試重新啟動 Turbo C++ 並盡可能在另一個 IDE 上運行相同的代碼,以檢查代碼是否真的錯誤。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM