69,373
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <stdlib.h>
int main(int argc,char **argv)
{
FILE *fp;
double n,sum = 0.0;
int ct = 0;
if (argc == 1)
fp == stdin;//这句是什么意思?
else if(argc == 2)
{
if ((fp = fopen(argv[1],"r")) == NULL)
{
printf("can't open %s\n",argv[1]);
exit(EXIT_FAILURE);
}
}
else
{
fprintf(stderr,"Usage %s [filename]\n",argv[0]);
exit(EXIT_FAILURE);
}
while((fscanf(fp,"%lf",&n)) == 1)
//假设 此时argc = 1,没有参数 fp里面什么也没有.程序运行到这里出错.应该怎么改?
{
sum += n;
++ct;
}
if (ct > 0)
printf("Average of %d valuse = %f\n",ct,sum/ct);
else
printf("No valid data.\n");
return 0;
}
#include <stdio.h>
void main()
{
FILE *fp ;
int x ;
fp=stdin ; //fp 指向标准输入
fscanf(fp, "%d", &x) ; //等价于 scanf() 的使用
fp=stdout ; //fp 指向标准输出
fprintf(fp, "%d", x) ; //等价于 printf() 的使用
fclose(fp) ;
}