簡體   English   中英

為什么 cout 什么都不寫?

[英]Why does cout writing out nothing?

我是 c++ 的初學者,我不知道為什么這段代碼沒有運行。 它什么也沒寫出來……甚至連"a"也沒有

#include <iostream>
#include <vector>
using namespace std;
int main()
{
    int N;
    cin >> N;
    vector<string> allat(N), etel(N);

    for(int a=0;a<N;a++) {
        cin >> allat[N];
        cin >> etel[N];
    }

    int meg=0;

    for(int a=0;a<N;a++) {
        for(int b=0;b<N;b++) {
            if(etel[a] == allat[b]) {
                meg++;
            }
        }
    }



    cout << meg << "a";

我認為問題出在以下幾行:

cin >> allat[N];
cin >> etel[N];

..因為這些調用Undefined Behavior 您應該將N替換為a ,因此上面的內容可以替換為:

cin >> allat[a];
cin >> etel[a];

現在你的代碼應該可以工作了。 另外,查看為什么“使用命名空間標准”被認為是一種不好的做法

暫無
暫無

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

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