2017-01-09 59 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______ –