1. c语言编译出现错误
C语言编译出现错误,这个时候考虑是不是一些电子元件出现了一些症状?或许你应该仔细的检查一下
2. C语言编译错误
在写#define PI 3.1416 语句时
前面应加空格。
3. C语言编译错误C1010该怎么解决
在编译VC++6.0是,出现fatal error C1010: unexpected end of file while looking for precompiled header directive
的错误.
解决方法:
1、如果发生错误的文件是由其他的C代码文件添加进入当前工程而引起的,则Alt+F7进入当前工程的 Settings,选择C/C++选项卡,从Category组合框中选中Precompiled Headers,选择Not Using Precompiled headers。确定。
2、在文件开头添加:
#include "stdafx.h"
对预编译头文件说明如下:
所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H、Afxwin.H)预先编译,以后该工程编译时,不再编译这部分头文件,仅仅使用预编译的结果。这样可以加快编译速度,节省时间。
预编译头文件通过编译stdafx.cpp生成,以工程名命名,由于预编译的头文件的后缀是“pch”,所以编译结果文件是projectname.pch。
编译器通过一个头文件stdafx.h来使用预编译头文件。stdafx.h这个头文件名是可以在project的编译设置里指定的。编译器认为,所有在指令#include "stdafx.h"前的代码都是预编译的,它跳过#include "stdafx. h"指令,使用projectname.pch编译这条指令之后的所有代码。
因此,所有的CPP实现文件第一条语句都是:#include "stdafx.h"。
4. 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和这个都没有报错,但是也没执行结果。你再看看吧,一家之言,仅供参考。希望对你有帮助。
5. c程序编译错误
(1)语法问题,乘法表达错误。
k=1/(2n-1); 中 2N ---> 2*N
(2)主函数给个返回值(养成好习惯,因为根据编译环境不同提示错误)
int main(){
...
return 0;
}
其他的没有问题
6. 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;//
}
7. c语言编译错误在哪里
把abc定义成浮点型数据就好了
因为,整数在做除法时,是整除,不带小数的,小数部分会舍去
double a,b,c ;
相应的后面的输入scanf()中的参数也要改成%lf
8. 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;
}
9. 如何快速查找C语言编译时的错误
1、首先,我们启动编译软件程序,今天我们以VC++6.0为例。
注意事项:
编译语言是一种以编译器来实现的编程语言。它不像直译语言一样,由解释器将代码一句一句运行,而是以编译器,先将代码编译为机器码,再加以运行。理论上,任何编程语言都可以是编译式,或直译式的。它们之间的区别,仅与程序的应用有关。