Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ if(三元)在for语句中_C++ - Fatal编程技术网

C++ if(三元)在for语句中

C++ if(三元)在for语句中,c++,C++,这只是一个逻辑问题,我试着搜索,但什么也没找到。这可能是胡说八道,但我想更好地理解为什么这不起作用 如果我喜欢这个: int start = 5; int times = (start >= 5) ? 10 : 15; for (int i = 0; i < times; ++i) { std::cout << "Times: " << i << std::endl; } int start=5; 整数倍=(开始>=5)?10 : 15

这只是一个逻辑问题,我试着搜索,但什么也没找到。这可能是胡说八道,但我想更好地理解为什么这不起作用

如果我喜欢这个:

int start = 5;
int times = (start >= 5) ? 10 : 15;

for (int i = 0; i < times; ++i)
{
    std::cout << "Times: " << i << std::endl;
}
int start=5;
整数倍=(开始>=5)?10 : 15;
对于(int i=0;istd::cout您的第二个版本在Visual Studio中运行良好。以下是我在控制台窗口中获得的输出:

Times: 0
Times: 1
Times: 2
Times: 3
Times: 4
Times: 5
Times: 6
Times: 7
Times: 8
Times: 9
Times: 10
Times: 11
Times: 12
Times: 13
Times: 14

两个代码快照之间的
start
是否有意不同?另外,如果您说某些内容“不起作用”,请始终明确-哪些内容不起作用?编译错误?错误行为?start在第二个值中采用不同的值。您不应该使用相同的值进行测试吗?另外,它如何不起作用?发生了什么?“为什么这不起作用?”--这意味着什么?你发布的代码会起作用。如果你有不起作用的东西,发布一个可编译的示例,以及实际和预期的输出。我不知道GCC的编译器开关……在Visual Studio O2中,意味着完全优化和Od禁用所有。编辑:Saw docs.O0禁用所有。
Times: 0
Times: 1
Times: 2
Times: 3
Times: 4
Times: 5
Times: 6
Times: 7
Times: 8
Times: 9
Times: 10
Times: 11
Times: 12
Times: 13
Times: 14