一个简单的 for 语句是:
for(int i = 0/*A Optional*/; i < 10/*B Optional*/; i++/*C Optional*/) {
}
现在我可以在 for 语句的初始化代码(A)中初始化多少个变量?另外,我将如何在 for 语句的初始化代码(A)中初始化这些变量?
一个简单的 for 语句是:
for(int i = 0/*A Optional*/; i < 10/*B Optional*/; i++/*C Optional*/) {
}
现在我可以在 for 语句的初始化代码(A)中初始化多少个变量?另外,我将如何在 for 语句的初始化代码(A)中初始化这些变量?
你想写多少就写多少,但声明仅限于同一类型。(对于初始化,请参见下面的扩展和 Wugs 的回答。)
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 循环应该是这样的:
for(int i = 0, x = 1, d = 2; i < 10; i++, x++) {
}
它们必须是同一类型。