我是使用 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/