當前位置:首頁 » 編程軟體 » 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