一道c語言的指標題改錯,跪求,一道C語言的指標題改錯,跪求!

時間 2022-03-08 10:05:01

1樓:匿名使用者

如果用乙個指標指向乙個陣列,請使用malloc分配空間例如你的*a,這是乙個野指標,它指向任何你不可控制的記憶體空間,讓這個指標偏移sizea個sizeof(int)絕不可能(第乙個for迴圈執行第一遍的時候a已經超界)

*c , *d不指向任何空間,執行 c + p 同樣會越界修改:#include

#include

int main()

printf("val position\n");

for (i = 0;i < p;i++)printf("%d %d\n",*(c + i),*(d + i));

system("pause");

return 0;

} 可能還有問題,自己注意修改

2樓:源語夢

a,b,c,d兩個有問題沒有分配記憶體。

簡單的方法是:

把int *a,*b,*c,*d;改為,

int a[255],b[255],c[255],d[255];

也可以用動態分配的方法:

a=malloc(sizea);

b=malloc(sizeb);

int size = sizea>sizeb?sizea:sizeb;

c=malloc(size );

d=malloc(size );

應該差不多了,你最好自己執行一下看。

一道c語言的題,一道C語言的題

當你輸入01回車後輸出 another number number 因為 第一次scanf接收0,則執行case 0 printf another n 後由於沒有break而繼續執行 case 1 printf number n 所輸出了another number 接著由for迴圈再次使scanf...

一道c語言改錯題,一道C語言改錯題 線上等

include main int i,j,k char ch scanf c ch k ch a 1 for i 1 i k i for j 20 j i j printf c for j 1 j 2 i 1 j 這裡改了printf c a i 1 printf n k ch a for i k ...

c語言一道選擇題,C語言一道選擇題

答案是b,即b 8 先做do語句,b a 後b 9 a 1 a 後b 9 a 2 然後是while語句,b 表示式值為9,9 0不成立,則迴圈結束,由於b 所以迴圈結束後,b 8 非非莫與 開始時 b 10 a 1 執行 1次 迴圈 b 9 a 2 此時判斷b 不小於0 所以迴圈結束 但是b 之後 ...

c語言中一道題,C語言中一道題

您好!上面的表示式結果應該不是16吧 如果是16的話5 7應該用括號括起來,否則整個式子只是乙個邏輯判斷。那麼結果應該是1 因為 號 兩邊分別是兩個整體,當以 d的格式輸出結果時,左邊不小於右邊即判斷結果為假輸出0,如果小於即判斷結果為真時輸出結果為1 c語言中零是假 非零就是真用1表示 如果5 7...

一道C語言程式設計題 哪裡有錯,c語言一道程式設計題,求大神給看哪錯了

c語言沒有bool型別 程式的目的是統計乙個大數字中不重複的數字 已經修正如下 include int main void int digit,i long n printf enter a number scanf ld n while n 0 printf repeated digit s fo...