栈的特性是”先进后出”,先进去的会压在栈底,最后再被调用。求一个数的二进制时,与2取模后,从下往上取出0和1。这符合栈的特性,可以创建一个数组来储存0和1。
分析:先判断输入的是整数还是负数,负数在内存中是以补码形式储存,所以要另外进行处理。负数补码:最高位为符号位,除了符号位外取反+1。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#define N 32//位数
struct Mystruct{
int top;//栈顶
int a[N];
};
struct Mystruct mystack={-1,{
0}};//初始化,-1代表是空
int isEmpty()
{