c语言运行时出错 stream!=NULL

部分程序如下#include<stdio.h>#include<stdlib.h>#defineseed31#definetimes100000000main(){int... 部分程序如下
#include<stdio.h>
#include<stdlib.h>
#define seed 31
#define times 100000000

main()
{
int i,j,a[5],c[5],e[5];
int exchange,temp1,temp2;
int dice1,dice2,dice3;
int total=0;
float b[5],d[5],f[5];
float x,y,z;

FILE *indata1,*indata2,*indata3;
indata1=fopen("f:\\c programming\\lab5\\dice1.inf","r");
indata2=fopen("f:\\c programming\\lab5\\dice2.inf","r");
indata3=fopen("f:\\c programming\\lab5\\dice3.inf","r");

if(indata1=NULL)
{
printf("dice1.inf does not exist.");
exit(1);
}
if(indata2=NULL)
{
printf("dice2.inf does not exist.");
exit(1);
}
if(indata3=NULL)
{
printf("dice3.inf does not exist.");
exit(1);
}

for(i=0;i<=5;i++)//dice1
fscanf(indata1,"%d%f",&a[i],&b[i]);
do
{
exchange=0;
for(i=0;i<=3;i++)
if(a[i]>a[i+1])
{
temp1=a[i];
temp2=b[i];
a[i]=a[i+1];
b[i]=b[i+1];
a[i+1]=temp1;
b[i+1]=temp2;
exchange=1;
}
}while(exchange=1); //line 52

for(i=0;i<=5;i++)//dice2
fscanf(indata2,"%d%f",&c[i],&d[i]);
do
{
exchange=0;
for(i=0;i<=3;i++)
if(c[i]>c[i+1])
{
temp1=c[i];
temp2=d[i];
c[i]=c[i+1];
d[i]=d[i+1];
c[i+1]=temp1;
d[i+1]=temp2;
exchange=1;
}
}while(exchange=1);

for(i=0;i<=5;i++)//dice3
fscanf(indata3,"%d%f",&e[i],&f[i]);
do
{
exchange=0;
for(i=0;i<=3;i++)
if(e[i]>e[i+1])
{
temp1=e[i];
temp2=f[i];
e[i]=e[i+1];
f[i]=f[i+1];
e[i+1]=temp1;
f[i+1]=temp2;
exchange=1;
}
}while(exchange=1);
展开
 我来答
lpe234
2014-10-14 · TA获得超过2778个赞
知道小有建树答主
回答量:1250
采纳率:50%
帮助的人:567万
展开全部
while(exchange=1) // exchange=1; 是赋值表达式
// while(true/false) 这个需要使用关系运算符, 也就是 >, < ,>=, <=, == 
// exchange==1 当exchange等于1时,这个表达式会返回true,否则返回false
// 还有 你再看看你if() 条件写对了么
while(exchange==1){
}

你刚学C?

while循环结构不会?

你还是好好看基础吧,这个代码是你自己写的吧。你先把基础弄好,再看这些代码吧


还有,你在预定义常量的时候,用大写字母,这是规范

#define SEED 31
#define TIMES 100000000
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式