2016-09-17 98 views
0

我正在做一些非常基本的編碼,用於在C++中使用Visual Studio 2015製作收據。我無法用空格創建名稱而不被強制使用下劃線(例如,Item 1 vs Item_1)。我覺得這是一個簡單的解決方法,但我對編碼整體而言是非常新的。無法在變量名稱中放入空格 - Visual Studio 2015(C++)

或者如果有什麼只是輸出(收據)顯示項目1而不是Item_1。

這是我當前的代碼:

#include "stdafx.h" 
#include <iostream> 

using namespace std; 


int main() 
{ 
    double Item_1; 
    double Item_2; 
    double Item_3; 
    double Total; 

    Item_1 = 2.50; 
    Item_2 = 0.75; 
    Item_3 = 12.98; 
    Total = Item_1 + Item_2 + Item_3; 

    cout << "Thank you for shopping at StuffMart" << endl; 
    cout << "Item_1 = " << Item_1 << endl; 
    cout << "Item_2 = " << Item_2 << endl; 
    cout << "Item_3 = " << Item_3 << endl; 
    cout << "Total = " << Total << endl; 

    system("pause"); 
    return 0; 
} 
+0

您找到了修復程序。你也可以做camelCasing。 – ChiefTwoPencils

+4

在C++中有標識符的規則:http://www.c4learn.com/cplusplus/cpp-variable-naming/ –

回答

2

從CPP language reference documenation

標識符是任意長的數字序列,下劃線 小寫和大寫拉丁字母,和大多數Unicode字符 (詳見下文)。有效的標識符必須以非數字字符(拉丁文字母,下劃線或Unicode非數字字符 字符)開頭。標識符區分大小寫(小寫字母和大寫字母 不同),每個字符都很重要。

總之,標識符(即變量名稱,函數名稱,類名稱等)不能有空格。空格用於幫助劃分構成語言的令牌。

+0

對於輸出顯示「Item 1」,我會完全避免嘗試使用Item 1作爲變量,或者我將如何去獲得輸出返回「項目1」或「男士襯衫」等?目前,爲名稱創建變量並不是我想要實現的目標。 –

+0

'\ w +'匹配'123',這不是一個標識符。 – 3442

+0

@KemyLand正在刪除,因爲你正在輸入這個評論。額外的澄清會令人困惑,所以這一點已被刪除。 – sdsmith

2

你不能有空格變量名之間。

example: 

int shan kar;//Wrong Declaration 
int int;//Wrong Declaration You Cant Have Keywords in place of variables 


int shankar;//Valid Declaration 
int shan_kar;//Valid Declaration 

規則聲明CPP變量: http://www.sitesbay.com/cpp/cpp-variable-declaration

1

簡而言之,你不能。在大多數語言(這包括C++),是命名標識符(如變量名)的規則如下:

  • 名稱應包括至少1個字符的。

  • 第一個字符應爲下劃線(_),大寫拉丁字母(A通過Z),或小寫拉丁字母(a通過z)。

  • 所有後續字符可能由第一個字符允許的相同字符加上十進制數字(09)組成。

因此,我們可以得出結論,**空格在標識符*中絕不允許。

(此外,大多數語言缺乏通過Z通過9和下劃線(_用於除A其他符號名的支持,a通過z0)。例外的是少數,而且,對於這個問題的存在,是不值得擔心。)

例如,下面是用C有效的名稱++:

  • foo
  • foo_bar
  • MyVariable123

而下面不是:

  • 123variable
  • my integer
  • français

你也應該考慮到,你不應該使用以下標識符在內,因爲他們保留:

  • 標識符以下劃線開始後跟一個大寫字母(如_Z3var)。 (包括__bazsome__identifier)。

  • 關鍵詞(如intlongiffor,等...)是特殊的標識符,其中語言儲備用於特殊目的。

相關問題