⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nat.c

📁 压缩包里面的都是精致的基本C语言小程序
💻 C
字号:
#include <stdio.h>#include <stdlib.h>#include "mystdlib.h"#include "error.h"#include "commonInter.h"#include "myint.h"#include "nat.h"static int flag = 1;struct nat{  tyVft vft;    int i;  plist pplist;};struct tyVft natVft;nat newNat (int i){  if (i<0)  {    printf ("%d\n", i);    exception ("invalid argument in file nat.c: i = ");        return NULL;  }    if (flag)  {    flag--;    natVft.equals = natEquals;    natVft.hashCode = hashCode;    natVft.toString = natToString;    natVft.getPlist = natPlist;  }  nat n = checkedMalloc (sizeof (*n));    n->vft = &natVft;  n->i = i;  n->pplist = newPlist ();    return n;}nat natAdd (nat n1, nat n2){  int i1 = n1->i;  int i2 = n2->i;  return newNat (i1+i2);}nat natSub (nat n1, nat n2){  int i1 = n1->i;  int i2 = n2->i;  return newNat (i1-i2);}nat natTimes (nat n1, nat n2){  int i1 = n1->i;  int i2 = n2->i;  return newNat (i1*i2);}int hashCode (poly n){  return ((nat)n) -> i;}plist natPlist (poly n){  return ((nat)n)->pplist;}int natToInt (nat n){  return n->i;}void natOutput (poly n){  printf ("%d", ((nat)n)->i);}int natEquals (poly n1, poly n2){  return (((nat)n1)->i == ((nat)n2)->i);}str natToString (poly n){  return intToString (((nat)n)->i);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -