c 為什麼不能用漢字作為變數名?但是為什麼卻可以輸出漢字

時間 2021-08-30 10:37:16

1樓:匿名使用者

有些編譯器可以支援所有unicode字元作為變數名,比如最新版本的visual studio,貌似從vs2008開始就支援了。比如你可以在visual studio裡編寫如下**:

#include

#include

#define 類 class

#define 返回 return

#define 公共 public

#define 私有 private

typedef int 整型;

typedef bool 布林型;

typedef char 字元型;

typedef void 空;

類 盒子類

空 輸出()

{std::cout《長<<','《寬<<','《高<

2樓:

這是這個語言定義的時候規定的,就像是你不能用數字放在變數的開頭一樣

每種語言都有固定的編碼,字元都在計算機本省的硬體裡的rom中儲存著,只要用函式呼叫這些字元就可以輸出了

3樓:匿名使用者

我也不是很懂,但好像這是規矩,沒有規矩, 不成方圓吧。

c++是別人發明的,別人說不能用就不能用。

如果c++是你發明的就好了,你想怎整就怎整。

4樓:也哥

為了節省儲存空間,提高運算效率,最重要的一點c語言是來外發明設計出來的,他們不懂中文。

c語言能不能使用中文變數名啊?

5樓:非常可愛

c語言可以使用中文

變數名。

c語言變數名規則是:

1、變數名以英文本母開頭版;

2、變數名中的權字母是區分大小寫的;

3、變數名不能是關鍵字;

4、變數名中不能包含空格、標點符號和型別說明符。

擴充套件資料c語言中定義的關鍵字有:

由ansi標準定義的c語言關鍵字共32個:auto、 double、 int、 struct、 break 、else、 long、 switch、case、 enum、 register 、typedef、 char 、extern 、return、 union 、const、 float 、short、 unsigned、 continue、 for、 signed 、void、default 、goto、 sizeof 、volatile、 do 、if 、while、 static。

這32個關鍵字就是已經被c語言本身使用,不能作為其他用途使用,比如不能定義成變數名、函式名。

6樓:小夏在深圳

可以使用。合法的變數名由字母,數字和下劃線組成組成第一位只能為字

回母或下劃線答不能和c語言保留字完全相同。

變數就是暫時儲存在記憶體中的一小段資訊。變數它的英語是variable,變數在做形容詞用的話是「可變的,易變的」之意,應酬變數就是在程式執行期間其值可以改變的量。

在c語言中乙個變數有兩部分:

1、變數的值

變數所儲存的值,比如5。

2、變數的名字

是用來標識乙個變數的。

在c語言中,每乙個變數必須要有乙個名字。可不能隨便取名字,還要遵守一些限制條件。c語言對大小寫敏感,所以,hello和hello是兩個不同的變數名。

擴充套件資料1、變數名都以小寫字母開頭。

2、如果變數名有好幾個單詞組成,那麼除了第乙個單詞的首字母小寫之外,其他單詞的首字母都大寫。

7樓:漓江裡de大蝦

目前c++標準已經復支援各制種語言識別符號,所以中文bai變數當然不成問題

du.一些守舊派依zhi然固守匈牙

dao利命名法,駝峰命名法等英文命名習慣,所以就沒有用中文變數,這是其一.

其二,是業界並沒有中文變數命名的統一標準.

本人編碼七年有餘,近來也開始嘗試使用中文變數,但是剛才所提及的第一點原因,這麼多年的習慣也難以改變.所以我只在我的返回值用中文,這樣非常清晰.

比如,設計乙個方法的時候需要返回值,那麼我會首先在函式入口點定義乙個列舉內型,比如:

enum result : uint ;

定義好後,我函式分支返回的時候就可以如下:

return 執行成功;

或者return 控制代碼異常;

這樣當日後看自己的**的時候,非常清晰,可以快速定位到相應**.

這種返回值用中文的習慣,經過我的推廣,目前我周圍的程式設計師朋友都在使用這種方法,希望樓主也採用這種方法.

當中國業界使用中文變數的程式設計師多了,估計離中文變數命名標準法案推出就不遠了.呵呵

8樓:匿名使用者

不能使用中文變數名

目前還沒有支援中文變數的c編譯器

有空你可以自己寫乙個啊,haha

9樓:cyber臥龍

現在我們國家出bai來了個習語言du

,他雖然還在嬰兒期,zhi但dao是是百分百的中文程式設計,就版像漢化版的權c語言,還有個叫習佳佳,c++開發伴侶,它是和vs編譯器一起使用的,能把普通的vs在開發c++的時候全部漢化,不需要安裝,只要用vs找到習佳佳的路徑就可以,它包括變數名,函式名。。。。。。。

10樓:公尺

不能,對於程式設計變數名稱最好不要用中文的

11樓:匿名使用者

不能啊,如果你什麼時候開發出來乙個 編譯器 可以 識別中的地就好了。。

12樓:匿名使用者

除非你自己發明乙個編譯器,否則沒人願意用中文編譯……

13樓:匿名使用者

我試了下,不能,你可以寫拼音嘛,拼音大家都能懂得

14樓:匿名使用者

用拼音做變數名,除了用a,b,c.沒有比這更糟的了。

15樓:匿名使用者

用金山詞霸將中文翻譯成英文三

c++ 支援中文變數名 中文類名嗎

16樓:

預設是不支援的會報編譯錯誤

下面是我擷取的比較官方的說法

/*c++ 識別符號是用來標識變數、函式、類、模組,或任何其他使用者自定義專案的名稱。乙個識別符號以字母 a-z 或 a-z 或下劃線 _ 開始,後跟零個或多個字母、下劃線和數字(0-9)。

c++ 識別符號內不允許出現標點字元,比如 @、& 和 %。c++ 是區分大小寫的程式語言。因此,在 c++ 中,manpower 和 manpower 是兩個不同的識別符號。*/

17樓:六三

那得看什麼編譯器了

devc++不能,vs就可以

為什麼手機上顯示有流量但是不能用

具體原因我可能不太清楚,但是你可以試試一下操作,重新關機再開機,或者重新啟動手機,這個還不行的話你就可以打 給客服或者去營業廳,問問工作人員,有可能是你的流量是關閉的,以上是我的想法,希望可以幫到你。如手機無法正常上網,請檢查如下情況 1 檢查是否公升級為4g 建議可重啟手機2 確認是否有網路,建議...

為什麼在c語言中,字元型不能用scanf輸入,而是用getc

樓主你好,關於你問的這個問題在我初學c語言的時候也遇到過,不僅是乙個人遇到,這是很多初學者都會遇到的問題 當然,我不是說樓主大哥你是初學者 呵呵 這個問題曾經麻痺了很多人,開始我也是不知道是什麼原因,直到一次偶然的機會我才知道問題的所在 出錯原因如下 當你輸入資料後 回車,資料才被函式 scanf ...

c 中為什麼陣列地址可以作為引數傳遞而不能直接賦值給別的陣列呢

這是甲魚的臀部 規定.因為陣列名錶示陣列的首地址,int b它要定義自己的陣列空間,當然不能用別的陣列的空間,所以不能把a傳給它.但陣列作為引數傳遞時,array只是個臨時指標變數,函式還是直接對實引數組進行操作,不需要另外生成陣列.樓上兩位說的a的指標,其實就是陣列首元素的指標,即陣列首地址,只不...