2013-10-29 95 views
0

我想在C中定義一個非常長的數組,同時不是並排寫入元素,而是以垂直方式寫入元素。我輸入的代碼塊將說明情況。爲了繼續定義數組「/」,我應該在行尾使用哪個字符,但不打印前面和後面的元素,而是打印零或一個字符。我怎樣才能做到這一點?在C中定義長數組

int i, grades[40] = {49, 80, 84, 73, 89, 78, 78, 92, 56, 85, 10, 84, 59, 56 
62, 53, 83, 81, 65, 81, 69, 69, 53, 55, 77, 82, 81, 76, 79, 83, 74, 86 
78, 55, 66, 60, 68, 92, 87, 86}; 

感謝您的貢獻。順便說一下,我在Ubuntu 12.04上(認爲Ubuntu和Windows的底線字符可能不同)。

編輯:逗號是罪魁禍首。對不起,花點時間。

+1

只要把進入那裏,它會被編譯出來。 – clcto

+0

什麼都沒有? –

+0

https://www.google.com/search?q=c+continue+statement+next+line。第一個結果!就是這麼簡單.. – tumchaaditya

回答

1

正如在其他的答案編譯器是足夠聰明的認識,如果一個語句擴展了幾行討論。

但是,實際上是一種明確的方式告知該語句繼續下一行的編譯器:\。 在你的例子中,你使用了斜槓(/)而不是反斜槓,並忘記了,。這導致了整數除法,導致您觀察到01

如果您想使用「\」你可以寫這樣的代碼:

int i, grades[40] = {49, 80, 84, 73, 89, 78, 78, 92, 56, 85, 10, 84, 59, 56, \ 
    62, 53, 83, 81, 65, 81, 69, 69, 53, 55, 77, 82, 81, 76, 79, 83, 74, 86, \ 
    78, 55, 66, 60, 68, 92, 87, 86}; 
+0

好吧,這是我所尋找的答案,但顯式打字是沒有必要的。 – Vesnog

5

逃逸新線是僅在預處理器指令和內部串必要的。只需輸入您喜歡的所有空白區域即可。只要編譯器不抱怨你應該是好的。

1

在大多數情況下,C編譯器不關心空格(除了字符串,等等)。這意味着只要語法仍然有效,您就可以擁有儘可能多的空白。唯一的限制是每個標記必須至少由一個空格分隔。

因此,簡而言之,你可以寫出來與儘可能多的空格,製表符和換行符的陣列,只要你願意,只要是最後一個之前的每一個元素後一個逗號。