注册 登录
编程论坛 C++教室

有代码看不懂

a75692074 发布于 2018-08-15 07:39, 1471 次点击
程序代码:
#include <iostream>
#define SIZE 5
using namespace std;

void show_array(const double ar[], int n);
void mult_array(double ar[], int n, double mult);

int main()
{
    double dip[SIZE] = {20.0, 17.66, 8.2, 15.3, 22.22};
    cout << "The original dip array:\n";
    show_array(dip, SIZE);
    mult_array(dip, SIZE, 2.5);
    cout << "The dip array after calling mult_array():\n";
    show_array(dip, SIZE);
    return 0;
}

void show_array(const double ar[], int n)
{
    int i;
    for (i = 0; i < n; i++)
        cout << ar[i];
    cout << endl;
}

void mult_array(double ar[], int n, double mult)
{
    int i;
    for (i = 0; i < n; i++)
        ar[i] *= mult;
}


这两段的结果怎么算呢??

show_array(dip, SIZE);
mult_array(dip, SIZE, 2.5);


为什么输出的结果是
The original dip array:
2017.668.215.322.22
The dip array after calling mult_array():
5044.1520.538.2555.55


谢谢大佬!!!
2 回复
#2
no1xijin2018-08-15 09:32
1.show_array(dip, SIZE);
这段是显示数组dip[]内的元素。将该函数内的 cout << ar[i]; 改为  cout << ar[i] <<" "; 看的更为清楚
2.mult_array(dip, SIZE, 2.5);
这段表示将数组dip[]内各元素乘以2.5不输出;配合使用下列两条语句才输出。
cout << "The dip array after calling mult_array():\n";
show_array(dip, SIZE);
#3
a756920742018-08-15 11:58
回复 2楼 no1xijin
嗯,谢谢
1