要求判断一个数的二进制是不是回文数,发生无效内存引用
#include <stdio.h>
int main()
{ int x, x0, i=0, j, flag=1;
int a[10];
scanf("%d", x);
x0=x;
while (x)
{ a[i++]=x%2;
x/=2;
}
for (j=0, i--; i>j; i--, j++)
{ if (a[i]!=a[j])
{ flag=0;
break;
}
}
if (flag) printf("Yes!\n%d=%s\n", x0, a);
else printf("No.\n");
return 0;
}
无输出结果,显示无效内存引用
为什么会出现无效内存引用的问题呢?感谢解答!
scanf("%d", x);
改成
scanf("%d", &x);