c語言,程式改錯,C語言的程式改錯

2022-02-20 04:08:17 字數 3220 閱讀 3349

1樓:還說你不知道

陣列是按行存放的所以定義陣列時要知道每行要多長,這就必須定義列的長度,行的長度可以不確定。

在用陣列作為函式引數(傳遞的是所有元素的情況)的時候,傳遞的是陣列首地址,不能像那樣寫

2樓:匿名使用者

問題:1,多維陣列的定義,主要是分配記憶體的問題。

a[i][j]是陣列的陣列,意思是定義i個元素的陣列,每個元素都是一個含有j個元素的陣列.  注意:這裡的i,j是具體的數字,不能是變數。

a[4]是定義了n個含有4個元素的陣列,如:a[4]=,,}是定義了3個"含有4個元素的陣列"的陣列.雖然3個自定義的,但是是確定的數字。程式可以分配記憶體。

a[3]是定定義了3個"含有n個元素的陣列"的陣列.如:a[3]=},由於n的值是不確定的(如上有3個的,2個的),所以程式無法為這個陣列分配記憶體空間.

2,對於陣列下標的使用,對於一個指定下標為4的陣列,他的下標是0,1,2,3,這4個,而沒有4.

3,rowsum(int table,int nrow)

table[3][4]是一個值,你的子函式需要獲得一個陣列,你卻傳一個值,顯然編譯器不會答應。

在引數中直接寫,table就可以將陣列傳入。

#include

void rowsum(int a[4],int nrow)

{for(int i=0;i

3樓:落木葉瀟瀟

我看了下 錯誤應該是

1.二維陣列的 行下標可以預設 但是列下標不能缺int table[3]=,,};錯 改為int table[4]=,,};對

2.你的 陣列下標超界了 陣列的下標呼叫和定義有點區別就像 int table[3][4]=,,};定義的是3行4列的陣列table 但是他的下標 最大才是table[2][3]因為 他每個下標都是從0開始的 不是1

所以rowsum(table[3][4],3);錯 改為

rowsum(table[2][3],3);對應該就是 這些吧

*************************以上 個人手打 長時間沒接觸 只做參考 希望可以幫助到你!

4樓:匿名使用者

int table[3]=,,};

修改為:

int table[3][4]=,,};

多維陣列直接賦值時,不能省略陣列的第二個下標的。

rowsum(table[3][4],3);

修改為rowsum(table,3);

因為定義的時候

void rowsum(int a[4],int nrow)其中int a[4],其實指的就是二維陣列,指標形式進入。

所以應該傳入table這個首地址。

至於中間的

for(int j=0;j<=4;j++)printf("%d ",table[i][j]);

這個地方,陣列下標超了,應該是

for(int j=0;j<=3;j++)printf("%d ",table[i][j]);

c語言的程式改錯

5樓:迷途鱷

#include

#define n 10

void maxmin(int arr , int *pt1 ,int *pt2 ,int n)//每個引數都要單獨宣告

}void main()//主函式未宣告型別,*p1,*p2,a,b;

p1=&a;p2=&b;//這裡傳遞的是引數地址,所以要去掉*maxmin(array,p1,p2,n);

printf("max:%d,min:%d",a,b);

}每個錯誤都註釋了,自行參悟。

執行結果如下

c語言程式設計程式改錯

6樓:匿名使用者

int prime(int n)    //這個函式是有返回值的,所以返回型別不是void

yes = 1;

for(i=2; i<=sqrt(n); i++)if(n%i==0)

return yes;    //應該返回的是yes}

7樓:雲端計算社群

#include

#include

#include "math.h"

int main()

if (i > k)

}printf("1 - 500 的是素數之和是:%d \n", sum );

return 0;}

c語言程式改錯題改對了兩個錯但還有一個錯而且程式不能執行可以得幾分

8樓:匿名使用者

等考二級c改錯題?

填空和改錯評分是按照文字來評分,也就是說,改正或填對一處,就拿一部分分。

改錯18分,每處6分,你的情況是拿12分。但是要注意,改錯和填空千萬不要在讓你改動的以外的地方做出任何改動,那怕只是多了一個空格。也不要再讓你改正的地方新增額外的回車。否則後果自負

程式設計題就不行了,程式設計題的評分依據是考生資料夾下那個out檔案,根據out檔案的內容評分。程式沒執行就無法建立out檔案,沒分。程式執行錯誤,out檔案內容錯誤,同樣沒分。

所以你能看到程式設計題是「程式執行出正確結果」才給分

有個別模擬軟體評分系統很差勁,你說的情況可能會一分不給。這不用擔心

9樓:20刀刀

改對了幾個就得多少分,之前我們模擬上機就是這麼算分的

10樓:碧血玉葉花

#include//加#

void fun(char *s)

main()

c語言程式改錯題

11樓:匿名使用者

等考二級c改錯題?填空和改錯評分是按照文字來評分,也就是說,改正或填對一處,就拿一部分分。改錯18分,每處6分,你的情況是拿12分。

但是要注意,改錯和填空千萬不要在讓你改動的以外的地方做出任何改動,那怕只是多了一個空格。也不要再讓你改正的地方新增額外的回車。否則後果自負 程式設計題就不行了,程式設計題的評分依據是考生資料夾下那個out檔案,根據out檔案的內容評分。

程式沒執行就無法建立out檔案,沒分。程式執行錯誤,out檔案內容錯誤,同樣沒分。所以你能看到程式設計題是「程式執行出正確結果」才給分 有個別模擬軟體評分系統很差勁,你說的情況可能會一分不給。

這不用擔心

c語言改錯題,C語言改錯題

include include int main void printf p n pch found close pch free pch 釋放指標pch指向的記憶體塊,應該用free,不是close return 0 found char pch 2 char pch found if pch c...

c語言程式問題,C語言程式問題?

1.在你打算學習c語言之前,你要下一個狠狠地決心.因為許多電腦愛好者在學習c語言的過程中,都會遇到困難,從而沒有堅持到最後.只有你下定狠狠地決心,才能學會c語言,才能學好c語言.2.要想學習好c語言,就要學會細心,耐心.c語言程式的編寫需要非常細心,因為一個標點符號的錯誤,可能導致程式的無法執行.3...

c語言程式題,C語言程式題

include stdio.h int main max array 0 min array 0 for i 0 i 5 i else if min array i printf the max number of array d,location d n max,index max printf ...