当前位置:首页 » 编程软件 » c编译错误

c编译错误

发布时间: 2022-01-11 11:03:41

A. 如何快速查找c语言编译时的错误

1、首先,我们启动编译软件程序,今天我们以VC++6.0为例。

注意事项:

编译语言是一种以编译器来实现的编程语言。它不像直译语言一样,由解释器将代码一句一句运行,而是以编译器,先将代码编译为机器码,再加以运行。理论上,任何编程语言都可以是编译式,或直译式的。它们之间的区别,仅与程序的应用有关。

B. C语言:下面的代码为什么会出现编译错误应当怎么改正

错误出在a=sum;这一句——因为构成C语言程序的基本单位是函数而不是C语句,这里的a=sum;不在任何函数中,所以编译器无法处理而出错。把它放到主函数中的printf("%d ",a(3,5));之前就可以了。函数外只能进行全局变量定义或声明,而不能进行其他操作,所以把int (*a)(int, int); a=sum;两句改成int (*a)(int, int)=sum;,让它成为声明变量a并初始化为sum也是可以的。你可以试试。

代码文本:

#include "stdio.h"

int sum(int a, int b);

int (*a)(int, int);

int main(int argc,char *argv[]){

a=sum;

printf("%d ",a(3,5));

return 0;

}

int sum(int a,int b){

return a+b;

}

C. c语言编译错误

int main(void){ main 改过来

D. c 编译提示错误

楼主你好。首先我说下你的函数第一行报错的问题。MAXLEN是你定义的一个宏,貌似不能把它作为形参(因为你已经把它定义成为宏)。你可以把后面一个形参改为int n,当然下面的MAXLEN也改为n,你只需要实参传进来的是MAXLEN就OK。
然后我说下你这个函数可能存在的问题:
函数貌似开始要用malloc函数开辟一段内存(记得函数执行完把它释放),因为没有开辟内存,s++操作可能不能执行。还有你返回的是s-t,我想你的本意是想记录输入的字符个数,并把它返回吧,如果前面指针操作有问题(没有开辟内存等引起的),那么这两个指针相减可能将被视为非法的。而你的函数返回值为int,可能会报错。
int getline(char *s,int n) /*这一行提示错误!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!*/
{
int k;
s=(char *)malloc(sizeof(char)*100);
char *t;
t=s;
int c;
while(--n>0&&(c=getchar())!=EOF&&c!='\n')*s++=c;/*这一行错误!!!!!!!*/
if(c=='\n')*s++=c;
*s='\0';
k=s-t;
free(s);
return k;
}
我试了一下,你的程序改了MAXLEN和这个都没有报错,但是也没执行结果。你再看看吧,一家之言,仅供参考。希望对你有帮助。

E. c语言 编译错误

#include<stdio.h>
#definer3
#definec4
voidsum_r(intar[][c]);//---宏定义r不能在这里当变量用,观察你后续代码,这个参数没用,删掉
voidsum_c(int[][c]);
intsum2d(int(*ar)[c]);
intmain(void)
{
intjunk[r][c]={{2,4,6,8},{3,5,7,9},{12,10,8,6}};
sum_r(junk);//
sum_c(junk);//
printf("Sumofallelements=%d ",sum2d(junk));
return0;
}

voidsum_c(intar[][c])//
{
intr1;
intc1;
inttot;
for(c1=0;c1<c;c1++)
{
tot=0;
for(r1=0;r1<r;r1++)//
{
tot+=ar[r1][c1];
}
printf("col%dsum=%d ",c1,tot);//
}
}
voidsum_r(intar[][c])
{
intr1;
intc1;
inttot;
for(r1=0;r1<r;r1++)
{
tot=0;
for(c1=0;c1<c;c1++)
{
tot+=ar[r1][c1];
}
printf("row%dsum=%d ",r1,tot);//
}
}

intsum2d(int(*ar)[c])
{
intr1;
intc1;
inttot=0;
for(r1=0;r1<r;r1++)//
{
for(c1=0;c1<c;c1++)
{
tot+=ar[r1][c1];
}

}
returntot;//
}

F. C语言编译错误

在写#define PI 3.1416 语句时
前面应加空格。

G. c语言编译错误在哪里

把abc定义成浮点型数据就好了
因为,整数在做除法时,是整除,不带小数的,小数部分会舍去

double a,b,c ;

相应的后面的输入scanf()中的参数也要改成%lf

H. c程序编译错误

(1)语法问题,乘法表达错误。

k=1/(2n-1); 中 2N ---> 2*N

(2)主函数给个返回值(养成好习惯,因为根据编译环境不同提示错误)
int main(){
...
return 0;
}

其他的没有问题

热点内容
python3默认安装路径 发布:2024-09-19 08:50:22 浏览:514
环卫视频拍摄脚本 发布:2024-09-19 08:35:44 浏览:416
sqlserveronlinux 发布:2024-09-19 08:16:54 浏览:255
编程常数 发布:2024-09-19 08:06:36 浏览:951
甘肃高性能边缘计算服务器云空间 发布:2024-09-19 08:06:26 浏览:161
win7家庭版ftp 发布:2024-09-19 07:59:06 浏览:716
数据库的优化都有哪些方法 发布:2024-09-19 07:44:43 浏览:268
知乎华为编译器有用吗 发布:2024-09-19 07:32:20 浏览:617
访问虚拟机磁盘 发布:2024-09-19 07:28:13 浏览:668
原地工作算法 发布:2024-09-19 07:28:07 浏览:423