2017-01-09 57 views
0

首先聲明我不斷收到錯誤2個變量:爲什麼我不包括在for循環

for (int i=1, seporated_words[0]=sentence[0]; sentence[i]!=' '; i++) 
{ 
seporated_words[0]=seporated_words[0]+sentence[i]; 
} 
cout << seporated_words[0]; 
} 

:數組必須用括號括起來的初始化器

這是代碼被初始化有誰知道我爲什麼得到這個錯誤?

回答

3

這就是C++的語法規則。 int i = 1, seporated_words[0]...試圖定義兩個變量 - 一個整數i和一個數組seporated_words,數組的大小爲0.以下= ...被編譯器看作是所述數組的初始化,並且不正確(編譯器仍然不正確)零大小的數組,但編譯器不在那裏報告它)。

您應該設置seporated_words到循環語句之前所需的值 - 這似乎是外部循環不管怎麼說,還是讓i外部變量,在環initialazer與seporated_words一起初始化。

順便說一句,你有一個錯字 - 拼寫爲separated

+0

呵呵,那麼您的意思是說,您在for循環的第一部分中包含的任何東西都是一個聲明? –

+0

@AmeenIzhac不是一切。但是你通過提供類型'int i = 0'來聲明是一個聲明,'i = 0'是一個賦值。 – SergeyA

+0

但我認爲評論將該聲明與作業分開 –

0

你有兩個封閉的大括號!

for循環的第一部分只運行一次。您可以在for之前放置seporated_words[0]=sentence[0]

+0

ok thanks______ –