在 C 中,问题是是否可以在 For 循环初始化体中声明不同类型的变量for 循环。考虑以下代码:
for(int i=0, j=0 ...
这会初始化两个整数变量(i 和 j)。是否可以在这个初始化主体中定义一个 int 和一个 char?
技术上,有一个解决方法,尽管非常规:
for(struct { int a; char b; } s = { 0, 'a' } ; s.a < 5 ; ++s.a) { std::cout << s.a << " " << s.b << std::endl; }
这里,我们定义了一个包含 int 和 char 的结构体。 for 循环初始化此结构的一个实例,然后递增循环体内的 int 成员。
虽然此解决方法满足技术要求,但值得注意的是,由于可能会造成混乱,通常不鼓励使用此模式与使用单独的变量相比缺乏清晰度。
以上是可以在 C For 循环的初始化中声明不同类型的变量吗?的详细内容。更多信息请关注PHP中文网其他相关文章!