C 为什么它会给出一个错误,它说;错误:下标值既不是数组也不是指针“;? #包括 int main() { int total_frames,total_pages,hit=0; 整数页[25],帧[10],arr[25],时间[25]; int m,n,pa

C 为什么它会给出一个错误,它说;错误:下标值既不是数组也不是指针“;? #包括 int main() { int total_frames,total_pages,hit=0; 整数页[25],帧[10],arr[25],时间[25]; int m,n,pa,c,operating-system,C,Operating System,为什么它会给出一个错误,它说;错误:下标值既不是数组也不是指针“;? #包括 int main() { int total_frames,total_pages,hit=0; 整数页[25],帧[10],arr[25],时间[25]; int m,n,page,flag,k,最短时间,temp; printf(“输入总页数:\t”); scanf(“%d”和总页数); printf(“输入总帧数:\t”); scanf(“%d”&总帧); /*铝矾土*/ 对于(m=0;m

为什么它会给出一个错误,它说;错误:下标值既不是数组也不是指针“;?
#包括
int main()
{
int total_frames,total_pages,hit=0;
整数页[25],帧[10],arr[25],时间[25];
int m,n,page,flag,k,最短时间,temp;
printf(“输入总页数:\t”);
scanf(“%d”和总页数);
printf(“输入总帧数:\t”);
scanf(“%d”&总帧);
/*铝矾土*/
对于(m=0;marr[n]]
{
k=帧[n];
}
}
国际单项体育联合会(旗)
{
最短_时间=25;
对于(n=0;n如果(arr[frame[n]==arr[k]&&time[frame[n]]写注释的方式是
/*LFU-algrithm*/
,或者这是您的格式问题?;)那么您的格式问题请包括足够的代码行来重现该问题。目前它太长了,不介意阅读{minimum_time=25;for(n=0;ntime
头中的函数名。这可能不起作用,但请尝试将时间变量的名称更改为,例如
time\u arr
#include<stdio.h>

int main()
{
    int total_frames, total_pages, hit = 0;
    int pages[25], frame[10], arr[25], time[25];
    int m, n, page, flag, k, minimum_time, temp;
    printf("Enter Total Number of Pages:\t");
    scanf("%d", &total_pages); 
    printf("Enter Total Number of Frames:\t");
    scanf("%d", &total_frames);
/*LFU algrithm */
    for(m = 0; m < total_frames; m++)
    {
        frame[m] = -1;
    }
    for(m = 0; m < 25; m++)
    {
        arr[m] = 0;
    }
    printf("Enter Values of Reference String\n");
    for(m = 0; m < total_pages; m++)
    {
        printf("Enter Value No.[%d]:\t", m + 1);
        scanf("%d", &pages[m]);
    }
    printf("\n");
    for(m = 0; m < total_pages; m++)
    {
            arr[pages[m]]++;
            time[pages[m]] = m;
            flag = 1;
            k = frame[0];
            for(n = 0; n < total_frames; n++)
            {
                if(frame[n] == -1 || frame[n] == pages[m])
                {
                    if(frame[n] != -1)
                    {
                            hit++;
                    }
                    flag = 0;
                    frame[n] = pages[m];
                    break;
                }
                if(arr[k] > arr[frame[n]])
                {
                    k = frame[n];
                }
            }
            if(flag)
            {
                minimum_time = 25;
                for(n = 0; n < total_frames; n++)
                {
                if(arr[frame[n]] == arr[k] && time[frame[n]] <minimum_time)
                    {
                        temp = n;
                        minimum_time = time[frame[n]];
                    }
                }
                arr[frame[temp]] = 0;
                frame[temp] = pages[m];
            }
            for(n = 0; n < total_frames; n++)
        {
                printf("%d\t", frame[n]);
            }
            printf("\n");
    }
    printf("Page Hit:\t%d\n", hit);
    return 0;
}