c++ - 我们如何获得此输出 C++

标签 c++

我有这个代码:

int i = 0, j = 0;
for(i=0,j=0;i<5,j<25;i++,j++);
    cout<<i <<" "<<j;

而且我不知道为什么它会输出 25 25。我真的不明白为什么它在ij中得到值25。任何人都可以解释一下为什么它从第二种情况达到值(value) 25 吗?这是一个for循环检查两个条件的问题吗?

最佳答案

这是 comma operator 的效果.这意味着它忽略测试的第一个参数并返回测试结果的第二个参数。

因为循环结束时有分号 ( ;)

 for(i=0,j=0;i<5,j<25;i++,j++);
                              ^

您的 for 循环一直“静默”执行(仅考虑 j<25 条件),完成后,两个变量的值为 25 .

如果您想在循环执行时查看输出以验证这一点,请删除 ;for 的末尾开始声明。

如果您想根据 i < 5 的值终止循环和 j < 25你可能想使用 && (和)运算符。

关于c++ - 我们如何获得此输出 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11328248/

相关文章:

c++ - boost 序列化: how to choose version at runtime?

c++ - Lambda 的显式返回类型

c++ - 为长值数组重载 operator<

c++ - 如何使用 Excel12v C 接口(interface)设置单元格值

c++ - QT Embedded : How to generate an event to ESC (Escape), F1 等按键

c++ - 有什么方法可以使模板函数应用于 C++ 中任意长度的数组?

c++ - 通过 Windows 10 C++ 中的控制台屏幕缓冲区重定向子进程标准输出

c++ - 如何定义 is_instantiable 类型特征?

c++ - 指向 vector 中元素的指针

c++ - 如何正确地将变量传入和传出非默认构造函数?