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...