代码具有特定于函数的变量,这些变量会在范围之外更改值

普罗维什

这是FCFS cpu调度算法。

void findTurnAroundTime(int processes[], int n, int bt[], int wt[], int tat[])
{

// Calculating turnaround time by adding bt[i] + wt[i] 
    for (int i = 0; i < n; i++)
        tat[i] = bt[i] + wt[i];
}

// Function to calculate average waiting and turn-around 
// times. 
void findavgTime(int processes[], int n, int bt[], int at[])
{
    int wt[n], tat[n];

// Function to find waiting time of all processes 
    findWaitingTime(processes, n, bt, wt, at);

// Function to find turn around time for all processes 
    findTurnAroundTime(processes, n, bt, wt, tat);

// Display processes along with all details 
    cout << "Processes " << " Burst Time " << " Arrival Time "
            << " Waiting Time " << " Turn-Around Time "
            << " Completion Time \n";
    int total_wt = 0, total_tat = 0;
    for (int i = 0; i < n; i++)
    {
        total_wt = total_wt + wt[i];
        total_tat = total_tat + tat[i];
        int compl_time = tat[i] + at[i];
        cout << " " << i + 1 << "\t\t" << bt[i] << "\t\t" << at[i] << "\t\t"
                << wt[i] << "\t\t " << tat[i] << "\t\t " << compl_time << endl;
    }

    cout << "Average waiting time = " << (float) total_wt / (float) n;
    cout << "\nAverage turn around time = " << (float) total_tat / (float) n;
}

如果在每个函数中取消清除wt和tat之类的变量,该如何连接?(这是主要问题)

完整的代码正在工作。

萨胡

如果在每个函数中取消清除变量wttat则它们将如何连接?

wt并且tat在中定义findavgTime(它们是使用非标准扩展名定义的,但这是一个单独的问题)。

findavgTime调用findWaitingTime和时findTurnAroundTime,它将这些变量传递给函数。函数没有在函数主体中定义它们-它们是通过函数参数在函数中定义的。由于wttat是数组,因此在调用findWaitingTime时,它们会衰减为指向各个数组的第一个元素的指针findTurnAroundTime因此,对这些函数内部变量的任何更改也都可见findavgTime

您不必在函数参数中使用相同的变量名。你可以用

void findTurnAroundTime(int processes[], int n, int bt[], int wt_here[], int tat_here[])
{    
    for (int i = 0; i < n; i++)
        tat_here[i] = bt[i] + wt_here[i];
}

那不会改变程序的行为。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何添加具有特定于分组变量的值的新列

bash:函数范围之外的变量

JS全局变量不会在函数范围之外改变

无论如何要更改函数中全局变量的值并在js中的本地范围之外访问

Python - 查找具有特定值的变量

如何在函数(python)之外使用这些变量?

我不明白为什么这些变量具有这些值

变量在函数之外失去其值?

装饰器函数内部的变量如何访问其范围之外的值?

监视外部角度变化值之外的变量,然后在根范围内更新角度函数

尝试范围之外的JS中具有相同名称的变量

Make:函数中特定于目标的变量分配

AngularJS 2:在变量所属的类之外更改变量的值

C-局部函数变量更改范围(全局)变量的值错误行为

获取具有特定变量的所有值的数组

如果其中之一在MySQL中具有特定变量,如何提高选择的值范围

更改函数内变量的值

如何更改这些变量?

AngularJS指令不会在范围变量更改时更新

JavaScript工厂函数在闭包范围之外修改变量

在类之外的函数或变量

是否有特定于目标变量的非传递版本?

如何检查变量列表是否具有特定值?

从具有html的变量中获取特定的值

在方法中设置的AngularJS变量不会在所述方法之外更改变量

Java变量只接受值的特定范围

如何创建具有范围的虚拟变量

具有范围变量的全局Makefile

具有特定变量的唯一ID,以使用所述变量在数组中调用函数