命令提示符在程序开始前显示数字。为什么? #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 opened\n");
}
else
{//else 1 begin
printf("Enter numbers to be stored in file\n");
printf("%d",&n);
while (!feof(stdin)){
fprintf(nfPtr,"%d",n);
scanf("%d",&n);
}
}//else 1 ends
fclose(nfPtr);
getch();
return 0;
}
被给予
但这些数字不会写入文件?
extern "C" {
void say_hello(const char* s);
}
答案 0 :(得分:2)
答案 1 :(得分:1)
替代
printf("%d",&n);
带
scanf("%d",&n);
printf
将格式指向的C字符串写入标准输出(stdout)读取数据
scanf
从stdin
在您的代码中,您打印的n(未初始化)在"Enter numbers to be stored in file"
字符串后打印出随机数。