導航:首頁 > 源碼編譯 > c編譯錯誤

c編譯錯誤

發布時間:2022-01-16 00:40:49

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為例。

注意事項:

編譯語言是一種以編譯器來實現的編程語言。它不像直譯語言一樣,由解釋器將代碼一句一句運行,而是以編譯器,先將代碼編譯為機器碼,再加以運行。理論上,任何編程語言都可以是編譯式,或直譯式的。它們之間的區別,僅與程序的應用有關。

閱讀全文

與c編譯錯誤相關的資料

熱點內容
工作三年的大專程序員 瀏覽:728
java畢業設計文獻 瀏覽:143
籌碼集中度指標源碼 瀏覽:482
listsortjava 瀏覽:186
plc閃光電路編程實例 瀏覽:299
socket編程試題 瀏覽:206
華為的伺服器怎麼設置從光碟機啟動 瀏覽:871
程序員真的累嗎 瀏覽:328
學信網app為什麼刷臉不了 瀏覽:874
天蠍vs程序員 瀏覽:996
單片機下載口叫什麼 瀏覽:190
程序員的道 瀏覽:926
雲伺服器不實名違法嗎 瀏覽:558
怎樣查看文件夾圖片是否重復 瀏覽:995
文件怎麼導成pdf文件 瀏覽:808
打開sql表的命令 瀏覽:103
安卓手機如何面部支付 瀏覽:38
天元數學app為什麼登錄不上去 瀏覽:825
明日之後為什麼有些伺服器是四個字 瀏覽:104
安卓系統l1是什麼意思 瀏覽:26