为什么命令提示符在我开始之前显示数字



命令提示符在程序开始前显示数字。为什么?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"字符串之后打印出一个随机数。

相关内容

  • 没有找到相关文章

最新更新