读书人

从输入文件“data.in”中读入两个整数

发布时间: 2012-04-28 11:49:53 作者: rapoo

从输入文件“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); 

读书人网 >C语言

热点推荐