C 程序无法正常运行(集合、数组、循环)

C Program Doesn't Work Properly (Sets, Arrays, Loops)

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");
        }

在你的代码中你有:

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[]的索引。问题是您同时为 A[] 使用索引 ij。这显然是错误的;您实际上正在阅读 A[] 的末尾,但只有运气阻止您出现分段错误。

尝试在不使用数组的情况下编写算法 U[]。对于并集,您可以只打印出 A[] 的元素,然后打印 B[] 中不在 A[].

中的元素