我可以在for语句的初始化中初始化多少个变量?
问题描述:
一个简单的说法是:我可以在for语句的初始化中初始化多少个变量?
for(int i = 0/*A Optional*/; i < 10/*B Optional*/; i++/*C Optional*/) {
}
现在还有多少变量初始化我在for语句的初始化代码(A)? 另外我如何初始化for语句的初始化代码(A)中的这些变量?
答
尽可能多的你写,但声明被限制为相同的类型。 (对于刚刚初始化见下文和用水小组答案膨胀。)
for (int a = 1, b = 2, c = 3 ; ;) {
break;
}
(可选的)ForInit部可以是:
如果ForInit代码是一个语句表达式列表(第14.8节),表达式按从左到右的顺序进行评估;它们的值(如果有的话)被丢弃。
如果ForInit代码是局部变量声明,它就像是出现在块中的局部变量声明语句(第14.4节)一样执行。
如果ForInit部分是不存在,则不采取任何操作。
示例代码上文声明的形式为for(LocalVariableDeclaration;;)
的。
答
您可以根据需要初始化任意类型,但是如果您使用内联声明,则所有声明的变量都必须与pst类型的所提及的类型相同。
for (int i = 1, j = 0, k = -1; ;);
string s;
double d;
for (s = "", d = 1.5; ;);
答
您可以在一个单独的语句用逗号循环,所以,只要你想,你可以初始化尽可能多的变量。如果你想初始化几个变量,你的for循环看起来像这样:
for(int i = 0, x = 1, d = 2; i < 10; i++, x++) {
}
它们必须是相同的类型。