命令提示符在程序开始前显示数字。为什么?2687688
是给定的但是号码不会写入文件?
#include <stdio.h>
#include <conio.h>
int main(void){
FILE*nfPtr;
int n;
if ((nfPtr=fopen("c:\Users\raphaeljones\Desktop\newfile.dat","w"))==NULL)
{
printf ("Sorry! The file cannot be openedn");
}
else
{//else 1 begin
printf("Enter numbers to be stored in filen");
printf("%d",&n);
while (!feof(stdin)){
fprintf(nfPtr,"%d",n);
scanf("%d",&n);
}
}//else 1 ends
fclose(nfPtr);
getch();
return 0;
}
除其他问题外,在您的代码中
printf("%d",&n);
是绝对错误的,并且会调用未定义的行为。。也许你指的是
scanf("%d",&n);
to 扫描号码。
这就是说,请看看为什么你应该避免使用!feof(file)
代入
printf("%d",&n);
scanf("%d",&n);
printf
将由format指向的C字符串写入标准输出(stdout)
scanf
从stdin读取数据
在你的代码中,你正在打印n,这是未初始化的,在"Enter numbers to be stored in file"
字符串之后打印出一个随机数。