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[]
使用索引 i
和 j
。这显然是错误的;您实际上正在阅读 A[]
的末尾,但只有运气阻止您出现分段错误。
尝试在不使用数组的情况下编写算法 U[]
。对于并集,您可以只打印出 A[]
的元素,然后打印 B[]
中不在 A[]
.
中的元素
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[]
使用索引 i
和 j
。这显然是错误的;您实际上正在阅读 A[]
的末尾,但只有运气阻止您出现分段错误。
尝试在不使用数组的情况下编写算法 U[]
。对于并集,您可以只打印出 A[]
的元素,然后打印 B[]
中不在 A[]
.