2016-10-02 65 views
-4

C程序不能正常工作(套,陣列,環路)C程序無法正常工作(套,陣列,環路)

請幫助

輸出:

A的補以B:0110010010, 但必須是:0100000010

printf("A \\ B: "); 
for (int i = 0; i < SizeOfU; i++) 
{ 
    for (int j = 0; j < SizeOfB; j++) 
    { 
     if ((U[i] == A[j]) && (A[i] != B[j])) 
     { 
      i++; 
      j = 0; 
      printf("1"); 
     } 
+3

請不要垃圾郵件語言標籤。 – Rakete1111

+0

什麼是「位線」? –

回答

0

在你的代碼有:

for (int i = 0; i < SizeOfU; i++) 
{ 
    for (int j = 0; j < SizeOfB; j++) 
    { 
    if ((U[i] == A[j]) && (A[i] != B[j])) 

變量i是數組U[]的索引,而j是數組B[]的索引。問題在於,您同時使用索引ij以及A[]。這顯然是錯誤的;你實際上正在閱讀A[]的結尾,但只有運氣阻止你得到分段錯誤。

嘗試編寫算法而不使用數組U[]。對於工會,您可以打印出A[]的元素,然後是B[]的元素,這些元素也不在A[]中。