当前位置:首页 » 编程软件 » c语言代码没错却编译有错

c语言代码没错却编译有错

发布时间: 2023-01-24 09:21:50

c语言问题 代码没有错 但是编译出错

代码有错,修改如下:
#include <stdio.h>
int a[300], cnt=0 ;
double pjz1=0.0, pjz2=0.0 ;
void readDat();
void writeDat();

void jsValue()
{int i,a1,b1,c1,d1;
for(i=0;i<300;i++)
{a1=a[i]/1000;
b1=a[i]/100%10;
c1=a[i]/10%10;
d1=a[i]%10;
if(d1-a1-b1-c1==0)
{ cnt++;
pjz1+=a[i];
}
else pjz2+=a[i];

}
if(cnt==0) pjz1=0;
else pjz1/=cnt;
if(300-cnt==00) pjz2=0;
else pjz2/=300-cnt;

}

main()
{
int i ;

readDat() ;
jsValue() ;
writeDat() ;
printf("cnt=%d\n满足条件的平均值pzj1=%7.2lf\n不满足条件的平均值pzj2=%7.2lf\n", cnt,pjz1,pjz2);
}

void readDat()
{
FILE *fp ;
int i ;
fp = fopen("C:\\WEXAM\\35990001\\in.dat","r") ;
for(i = 0 ; i < 300 ; i++) fscanf(fp, "%d,", &a[i]) ;
fclose(fp) ;
}

void writeDat()
{
FILE *fp ;
fp = fopen("C:\\WEXAM\\35990001\\out.dat","w") ;
fprintf(fp, "%d\n%7.2lf\n%7.2lf\n", cnt, pjz1, pjz2) ;
fclose(fp) ;
}

㈡ C语言没有语法错误,但是一编译就有两个错误

上面信息是0错误,0警告。
你写的代码没问题。

㈢ C语言程序老是显示错误但是没有错是什么原因

从代码上看没有问题。

如果你是新安装的编译器,那么有可能是编译器配置问题。 (Errorspawningcl.exe)

也有可能是你工程中加了不止一个文件。(function main )

建议你鼠标点在1 errors位置,然后鼠标滚轮向上滚动,查看具体错误信息。根据错误信息分析具体原因。

㈣ c语言编程的代码没有错,为什么运行就错了

如果代码本身没有错误,那么可能就是软件的配置没有弄好,比如各种文件路径等!

㈤ c语言helloworld代码是对的,但编译错误

"代码是对的",不要把自己放到"我是对的"的位置上去,这样就没有办法找自己问题了.既然编译没过,肯定哪错了
你代码不完全对,main函数的signature应该是int main(int argc, char* argv[]),编译器只是检查的比较宽松,有些书籍也不够严谨

至于编译,明明是过了啊?为什么说编译错误?

㈥ C语言问题 我的代码好像没问题,但是过oj的时候就是说编译错误。

+个这个试试?


#include"stdafx.h"

我这里能过,不过sqrt那里出问题了


㈦ 下面是一段C语言的代码,逻辑,代码没问题,为什么运行的结果却不正确

这个代码是存在问题的。
char
*p;
这个只定义了一个指针,并且没有进行初始化,此时不知道p指向内存中的何处,可能是任何地方!!
scanf("%c",
&p)
这样的话,指针p的值就被修改成了你输入的字符的值了。
for(;*p!='\0';)
这句话,进行
*p
操作的话,那么就会将指针p的值作为地址,取出该地址处的一个字节,
然后与
'\0'
进行比较
后面的程序就与前面的一样了。
这样的程序或许可能运行的起来,但是,你输入的字符的值最大是不会超过255的,
也就是说你
*p
的值就是你内存中存储
0x00
~
0xff
之间的某个值,这个是不确定的。
你要想输入字符串的话,必须首先分配内存空间才行!!!
char
str[256]
=
{
0
};
scanf("%s",
&str[0]);
然后再判断str的长度
或者
char
*p
=
(char*)
malloc(256);
//
分配
scanf("%s",
p);

free(p);

//
释放

㈧ C语言程序对的但是编译错误

前面的错误加个强制转换就行了
a = malloc(n*sizeof(int));
b = malloc(m*sizeof(int));
改成
a =(int*) malloc(n*sizeof(int));
b =(int*) malloc(m*sizeof(int));
后面的不知道你为什么要改。

热点内容
java返回this 发布:2025-10-20 08:28:16 浏览:710
制作脚本网站 发布:2025-10-20 08:17:34 浏览:972
python中的init方法 发布:2025-10-20 08:17:33 浏览:681
图案密码什么意思 发布:2025-10-20 08:16:56 浏览:833
怎么清理微信视频缓存 发布:2025-10-20 08:12:37 浏览:741
c语言编译器怎么看执行过程 发布:2025-10-20 08:00:32 浏览:1081
邮箱如何填写发信服务器 发布:2025-10-20 07:45:27 浏览:312
shell脚本入门案例 发布:2025-10-20 07:44:45 浏览:192
怎么上传照片浏览上传 发布:2025-10-20 07:44:03 浏览:880
python股票数据获取 发布:2025-10-20 07:39:44 浏览:837