我正在尝试遍历一个double
未知大小的数组。
为什么以下不起作用?
for (unsigned int = 1; i < sizeof(anArray)/sizeof(double); i++) {
...
}
一切都编译得很好(g++ -Wall -Werror -std=c++11 app.cpp -o app
),但程序甚至根本没有进入循环。
全功能:
struct stock_data {
int sell_index;
int buy_index;
double profit;
};
stock_data max_profit(double price_array[]) {
int sell_index = -1, buy_index = -1,
min = 0;
double profit = 0.0;
for(int i = 1; i < size; i++) {
if(price_array[i] - price_array[min] > profit) {
sell_index = min;
buy_index = i;
profit = price_array[i] - price_array[min];
}
if(price_array[i] < price_array[min]) {
min = i;
}
}
return {sell_index, buy_index, profit};
}
int main() {
double yesterday[] = {0.1, 0.2, 0.3, 0.4};
stock_data data = max_profit(yesterday);
cout << data.profit << endl;
}