gpt4 book ai didi

c++ - 试图避免 for 循环内的 if-else 语句,但代码似乎有一些错误

转载 作者:行者123 更新时间:2023-12-02 06:16:11 26 4
gpt4 key购买 nike

这个片段工作得很好。

for (int i = 0; i < 1; i++) // for some other purpose
{
// some other code

double** angle = new double* [10]; // for a 2D matrix
for (int j = 0; j < 10; j++)
{
angle[j] = new double [3];

if (j == 0)
angle[j][0] = 2; // focused on the first column for now
else
angle[j][0] = angle[j-1][0]+3;

std::cout << angle[j][0] << std::endl;
}

for (int i = 0; i < 10; i++)
delete[] angle[i];
delete[] angle;
}

我试图不在循环内使用条件语句。如果我将其替换为以下行,则代码将停止工作。请帮助我理解它。

angle[j][0] = (j == 0) * 2 + (j != 0) * (angle[j-1][0] + 3);

使用g++ -std=c++11 -o out main.cpp; ./out在 Ubuntu 16.04 LTS 上

最佳答案

您正在尝试使用三元运算符,但语法错误。

这样做:

角度[j][0] = (j == 0) ? 2 : (角度[j-1][0] + 3);

关于c++ - 试图避免 for 循环内的 if-else 语句,但代码似乎有一些错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59386641/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com