#include <stdio.h>
#include <time.h>
#include<stdlib.h>
#define randomize() srand((unsigned)time(NULL)) //定义一个宏用来产生随机数的
#define N 10 //调动的次数
#define RealPage 4
struct Page
{
int pn; //虚页号
int pfn; //实页号
int times;
//struct Page *next; //指向下一个页面
};
int count,k,i,j,flag,call[N];
struct Page MemPage[RealPage];
void output()
{
printf("\n\n-------------内存页面情况为-------------------\n");
printf("调度顺序为:");
int p ;
for(p=0;p<N;p++)
printf("%d ",call[p]);
printf("\n");
for(k=0;k<RealPage;k++)
printf("序号:%d 虚页号:%d 实页号:%d Time:%d count:%d\n",k,MemPage[k].pn,MemPage[k].pfn,MemPage[k].times,count);
}
int main()
{
count = 0; //替换计数器
int init_t;
for(init_t=0;init_t<RealPage;init_t++)
//MemPage[init_t].pfn = -1;
randomize();
printf("调度顺序为:");
for(i=0;i<N;i++)
{
call[i] = rand()%10;
printf("%d ",call[i]);
}
//开始调度了
for(i=0;i<N;i++)
{
flag = 1;
int m;
for(m=0;m<RealPage && MemPage[m].pn!=call[i];m++)
{
if(MemPage[m].pfn == 0) {
MemPage[m].pfn = 3478 - m*79;
MemPage[m].times = 1;
MemPage[m].pn = call[i];
count ++;
break;
}
}
//output();
for(j=0;j<4 && flag!=0;j++)
{
if(call[i] == MemPage[j].pn)
{
flag = 0;
break;
}
//在实页中找不到此页,用LRU算法进行替换
else
{
if(j == RealPage-1) //表示全都比较一遍了,还是没找到相同的页,进行替换
{
int t1,t2,temp;
for(t1=0;t1<RealPage;t1++) //算出在内存中时间最长者,将其替出来
{
for(t2=t1+1;t2<RealPage;t2++)
if(MemPage[t1].times > MemPage[t2].times)
temp = t1;
else
temp = t2;
}
MemPage[temp].pn = call[i]; //替换
MemPage[temp].times = 1; //时间重新开始计时
count ++;
}
}
}
int r;
for(r=0;r<RealPage;r++)
MemPage[r].times ++;
int n = 755599998;
while(n--);
output();
}
printf("\n 缺页率为:%f\n\n",(float)count/10);
return 0;
}
D:\C++\页面调度模拟\最终\程序.c(21) : error C2143: syntax error : missing ';' before 'type'
D:\C++\页面调度模拟\最终\程序.c(22) : error C2065: 'p' : undeclared identifier
D:\C++\页面调度模拟\最终\程序.c(22) : warning C4552: '<' : operator has no effect; expected operator with side-effect
D:\C++\页面调度模拟\最终\程序.c(22) : error C2143: syntax error : missing ';' before ')'
D:\C++\页面调度模拟\最终\程序.c(32) : error C2143: syntax error : missing ';' before 'type'
D:\C++\页面调度模拟\最终\程序.c(33) : error C2065: 'init_t' : undeclared identifier
D:\C++\页面调度模拟\最终\程序.c(46) : error C2143: syntax error : missing ';' before 'type
……………………………………………………
求大神 error C2143: syntax error : missing ';' before 'type'
C语言程序要求所有变量都在函数一开始全部声明。你的 struct node *head,*tail,*cnew;head=NULL;int num;这句话 head=NULL之后在int num就不行了,会报syntax error : missing ';'before 'type'另外你定义的是int num;后面使用 if(n==0) break;所以包'n' : undeclared identifier ...
c语言syntax error : missing ';' before 'type' 高手指导啊
include include<stdlib.h> define randomize() srand((unsigned)time(NULL)) \/\/定义一个宏用来产生随机数的 define N 10 \/\/调动的次数 define RealPage 4 struct Page { int pn; \/\/虚页号 int pfn; \/\/实页号 int times;\/\/struct Page *next; \/\/指向下一个页面 };int count,k,i,j...
c语言 syntax error : missing ';' before 'type'
楼上说的没错。因为你是静态申请数组,所以需要给指定的值,而不能用变量,你可以:float p[9]={1,0,0,0,1,0,0,0,1};p[6]=-x; p[7]=-y;这样来达到你想要的效果。希望对你有所帮助。
error C2143: syntax error : missing ')' before ';'是什么错误,找遍...
在运行程序时发现了一个问题,总是提示一个错误:error C2143: syntax error : missing before type。解决方法如下:把所有变量的声明放在可执行代码之前。出现此问题的原因在于:将文件保存成了 .c 格式。如果是cpp格式就能正常编译。改成.cpp就可以正常运行,和你变量声明的位置就没有关系了。一般在...
syntax error : missing ';' before 'type' 高手求指导
int main(void){ int count, i, m, n, sum;int repeat, ri;int prime(int m);scanf("%d", &repeat);for(ri = 1; ri <= repeat; ri++){ scanf("%d%d", &m, &n);count=0;sum=0;for(m=m;m<=n;m++){ if(prime(m)==1){ count+=1;sum+=i;} } printf("Count =...
...syntax error : missing ';' before 'type'该错误如何解决?谢谢啦...
int main(){ int i;double a,b,c,d,e,f,cash;\/\/这2行给你写前面了,具体原因往下看 printf("请输入本月利润:\\n");\/\/反斜杠打错了吧?scanf("%d",&i);\/\/你不先给 i 赋值,就直接使用 i ?a=0.1*i;\/\/下边这几行有几个乘号忘了写啦 b=100000*0.1+(i-100000)*0.075;c=...
C错误救助:error C2143: syntax error : missing ';' before 'type'
估计你用的是 C 语言环境,要把变量定义放到前面。而且你这段代码是测试sizeof和int型数据大小的,在不同的编译环境中不进相同。\/\/\/ VC++ \/\/ DEV C++ \/\/ TC 下编译通过 include<stdio.h> include<stdlib.h> int main(int argc,char *argv[]){ char *a;int b, c; \/* 修改 *\/ pr...
C语言老是提示出错syntax error : missing ';' before 'type'
一般是语句缺少“;”号或者for循环里缺少“;”号,如果实在找不到可以把代码贴出来看下 ;C语言在定义变量前不允许使用printf();。把前面所有的printf(),放到 int n那句的后面!
C语言问题:syntax error : missing ';' before 'type'等等
syntax error : missing ';' before 'type'(这一点要注意在输入分号时,应该是在英文状态下)undeclared identifier (这一点要注意有些变量要先声明再使用)
error C2143: syntax error : missing ';' before 'type'
变量声明要放在其它代码之前,修改一下就行了:include <stdio.h> void main(){ FILE *fp;char filename[20];char string[81];\/\/放这儿 printf("Enter the file name:");scanf("%s",filename);}