2016-10-02 75 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[]中。