私はページフレームと参照文字列を持つテキストファイルの入力から読み込もうとしています。たとえば、私の入力ファイルに3,7,0,1,2,0,3,0 、4,2,3,0,3,2,1,2ここで、開始3はページフレームの数であり、番号7以降は参照文字列である。 expected outputFIFOのページの置換Cの間違った出力の取得
#include <stdio.h>
#include <string.h>
void FIFO(char [],char [],int,int);
//FIFO
void FIFO(char s[],char Fi[],int n,int f)
{
int i,j=0,k,flag=0,cnt=0;
printf("\n\tPAGE\t FRAMES\t FAULTS");
for(i=0;i<n;i++)
{
for(k=0;k<f;k++)
{
if(Fi[k]==s[i])
flag=1;
}
if(flag==0)
{
printf("\n\t%c\t",s[i]);
Fi[j]=s[i];
j++;
for(k=0;k<f;k++)
{
printf(" %c",Fi[k]);
}
printf("\tPage-fault%d =",cnt);
cnt++;
// sum = cnt++;
printf(" Total Faults",cnt);
}
else
{
flag=0;
printf("\n\t%c\t",s[i]);
for(k=0;k<f;k++)
{
printf(" %c",Fi[k]);
}
printf("\tNo page-fault");
}
if(j==f)
j=0;
}
}
int main()
{
int n1, n2,n3,n4;
int ch,YN=1,i,l,f,k,j;
char Fi[30],s[25];
char g[0];
/*printf("\nPlease Enter Number of Frames:");
scanf("%d",&f);
printf("\nPlease Enter the length of the string: ");
scanf("%d",&l);
printf("\nPlease Enter the string: ");
scanf("%s",s);*/
FILE *fp1; // File Pointer Declaration
fp1 = fopen("Inr.txt","r"); // File Opening by File Name and Read Mode r
printf("The number of Frames");
fscanf(fp1,"%d",&f);
for(i=0;i<f;i++)
//fscanf(fp1,"%d,",&f);
Fi[i]=-1;
fclose(fp1);
do
{
printf("\n_________ Please Select One Option __________\n");
printf("\n\t1:FIFO\t2:EXIT");
printf("\n\n\tEnter your choice: ");
scanf("%d",&ch);
switch(ch)
{
case 1:
for(i=0;i<f;i++)
{
Fi[i]=-1;
}
FIFO(s,Fi,l,f);
break;
case 2:
exit(0);
}
printf("\n\n\tDo u want to continue IF YES PRESS 1\n\n\tIF NO PRESS 0 : ");
scanf("%d",&YN);
}while(YN==1);return(0);
}
が予想される出力は何であり、実際の出力は何である...始めるのだろうか?何のデバッグをしましたか? – kaylum
それは何であるはずですか?実際の出力または期待される出力?そしてあなたの質問にコメントに入れてください。 – kaylum
あなたの質問では別のテキストリスト*に属しています。コメントのテキストの壁としてここには貼り付けられません。あなたの質問を更新し、期待された、実際の出力が何であるかを書き留め、コメントを落としてください。*してください。 – WhozCraig