首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

从输入文件“data.in”中读入两个整数(数值范围为[0, 232-1]),计算并输出它们的商和余数解决方案

2012-04-28 
从输入文件“data.in”中读入两个整数(数值范围为[0, 232-1]),计算并输出它们的商和余数/*test.c*/#include

从输入文件“data.in”中读入两个整数(数值范围为[0, 232-1]),计算并输出它们的商和余数
/* test.c */
#include<stdio.h>
int main(void)
{
  unsigned int a, b;
  FILE *fp = fopen("data.in", "r");
  if(fp==NULL){
  printf("ERROR\n");
  return 1;
  }
  if(fscanf(fp, "%u %u", &a, &b)!=2){
  printf("ERROR\n");
  return 2;
  }
  if(b==0){
  printf("ERROR\n");
  return 3;
  }
  printf("%d %d\n", a/b, a%b);
  return 0;
}
能编译,但运行时显示ERROR,谁能告诉我怎么回事

[解决办法]
if(fscanf(fp, "%u %u", &a, &b)!=2){

改为
if(fscanf(fp, "%u%u", &a, &b)!=2){

scanf和同类函数中不要用空格分隔格式控制符
[解决办法]
你先看看是哪个判断打出ERROR来的,最起码你区分一下那几个ERROR吧
[解决办法]
没准备好data.in文件吧。
我准备了个

C/C++ code
333 20
[解决办法]
C/C++ code
FILE *fp = NULL;    fp = fopen("data.in","w+");    if(fp == NULL)    {        printf("open failed\n");        getch();        return 1;    }    fputs("12 34",fp);    fclose(fp); 

热点排行