c++ - 错误的 'for' 循环结果 C++

标签 c++ for-loop

我是使用 C++ 的初学者,所以我想知道是否有人能够帮助我,因为我目前正在尝试打印“for”循环。 “alfa”循环打印正确,但当“sina”循环调用该信息时,控制台中仅打印零。

#include <iostream>
#include <fstream>
#include <iomanip>
#include <cmath>
#include <new>
#include <ctime>
#include <string>
#include <sstream>
#include <vector>

const double convToRad = pi/180.0;

int main(){

    int INDEX = 91;
    double alfa[INDEX] {0};
    double sina[INDEX] {0};

for (int p = 90; p >= 0; p--){
     alfa[INDEX] = p*convToRad;
     //std::cout << alfa[INDEX] << std::endl;
 }

for (int e = 0; e <= 90; e++){
    sina[INDEX] = sin(alfa[INDEX]);
    std::cout << sina[INDEX] << std::endl;        //only prints 0's
 }

   return 0;

}

最佳答案

您正在访问错误的内存位置。 指数=91; 您在两个循环中都输入了 INDEX 而不是 p 和 e。 因此,访问一个错误的位置可能会产生垃圾值或使程序崩溃。

关于c++ - 错误的 'for' 循环结果 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63007240/

相关文章:

r - 如何增强 for 循环

javascript - 基本 While 循环查询 - 为什么记录 "1"?

C++检查键是否被按下,而不是按住

c++ - 如何在 Qt 中设计滑动/滑动功能来选择小部件?

C++电话号码程序

c - OpenMP 有序子句

excel - 复制粘贴宏正在诱导 'grouped' -工作表功能?

javascript - 为什么我们在 ES2015 中需要一个新的循环结构 for-of,而我们已经有了 for,forEach?

c++ - 尽可能快地读取标准输入

C++使数字以十六进制形式出现