2013-10-26 85 views
-5

我想把一個類似5個變量的列表合併成一個。將多個變量放在一個變量中? C++

例如:

int i = 6; 
int a = 5; 
int b = 1; 
int x = 9; 
int z = 4; 

int num = i && a && b && x && z; 

cout << num; 

我想NUM顯示此號碼:65194

+1

您可能來自另一種編程語言 - C++中的'&&'是[邏輯運算符](http://en.cppreference.com/w/cpp/language/operator_precedence),而不是字符串連接符(它是即使你用整數(!)餵食它,你如何使用它。 – usr2564301

回答

0

& &操作者是邏輯和運算符。

在它最簡單的形式,它的工作原理是:

(條件1)& &(條件2)

(它的優先級是由左到右。)

如果條件1爲真(條件將返回1),它將前進到右側並評估第二個條件。如果發現第二個條件是也是如此,其結果將是:

最終將爲真時真= TRUE

現在即將到您的查詢:

int i = 6; int a = 5; int b = 1; int x = 9; int z = 4;

INT NUM = I & &一個& & b & & X & & Z者除外;

cout < < num;

除非有在這裏一個爲零時,輸出將總是1中,作爲& &操作者處理等的條件檢查結果的變量(0的值真正整數,爲假)。所以NUM永遠是1,除非其中一個變量是0

所以,現在您瞭解& &運營商不一樣的作品你的預期,你應該明白這是不可行的。

5

只需使用一個std::vector

然後使用std::vector::push_back的元素插入到它。

std::vector<int> my_vector; 
my_vector.push_back(6); 
my_vector.push_back(5); // push the rest of the numbers 

要顯示的內容:

for(auto& i: my_vector) 
    std::cout << i; 
5

對於數字,你可以使用基本的算術:

int num = ((((i * 10) + a) * 10 + b) * 10 + x) * 10 + z; 
1

首先聲明一個字符串,然後使用一個數字轉換爲字符串以下方法。這只是一種方法,還有其他方法可以做到這一點。

  1. 退房itoa函數。
  2. 另一種方法是:

    int a = 10;

    char * intStr = itoa(a);

    string str = string(intStr);

  3. 又一種方式:

    INT A = 10;

    stringstream ss;

    ss < < a;

    string str = ss.str();

  4. 除此之外,C++ 11有兩個新的功能:

+0

你應該顯示多個數字,這是一個不同於打印一個數字的動物。 –

相關問題