头文件
double atof(const char *s)
atof 函数将字符串 s 转换为 double 类型。该函数等价于 strtod ( s, (char**)NULL)。
int atoi(const char *s)
atoi 函数将字符串 s 转换为 int 类型。该函数等价于(int)strtol(s, (char**)NULL, 10)。
long atol(const char *s)
atol 函数将字符串 s 转换为 long 类型。该函数等价于 strtol(s, (char**)NULL, 10)。
double strtod(const char *s, char **endp)
strtod 函数将字符串 s 的前缀转换为 double 类型,并在转换时跳过 s 的前导空白符。除了endp为NULL,否则该函数将把指向s中未转换部分(s的后缀部分)的指针保存在*endp中。如果结果上溢,则函数返回带有适当符号 HUGE_VAL;如果结果下溢,则返回 0。在这两种情况下,errno 都将被设置为 ERANGE。
long strtol(const char *s, char **endp, int base)
strtol 函数将字符串 s 的前缀转换为 long 类型,并在转换时跳过 s 的前导空白符。除非 endp 为 NULL,否则该函数将把指向 s 中末转换部分(s 的后辍部分)的指针保存在*endp 中。如果 base 的取值在 2~36 之间,则假定输入是以该数为基底的;如果 base 的取值为 0,则基底为八进制、十进制或十六进制。以 0 为前缀的是八进制,以 0x 或 0X 为前缀的是十六进制。无论在哪种情况下,字母均表示 10~base-1 之间的数字。如果 base 值是 16,则可以加上前导 0x 或 0X。如果结果上溢,则函数根据结果的符号返回 LONG_MAX 或 LONG_MIN,同时将 errno 的值设置为 ERANGE。
unsigned long strtoul(const char *s, char **endp, int base)
strtoul函数的功能与strtol函数相同,但其结果为unsigned long类型,错误值为ULONG_MAX。
int rand(void)
rand函数产生一个0~RAND_MAX之间的伪随机整数。RAND_MAX的取值至少为32767。
void srand(unsigned int seed)
srand函数将seed作为生成新的伪随机数序列的种子数。种子数seed的初值为1。
void *calloc(size_t nobj, size_t size)
calloc函数为由 nobj 个长度为 size 的对象组成的数组分配内存,并返回指向分配区域的指针;若无法满足要求,则返回 NULL。该空间的初始长度为 0 字节。
void *malloc(size_t size)
malloc 函数为长度为 size 的对象分配内存,并返回指向分配区域的指针;若无法满足要求,则返回 NULL。该函数不对分配的内存区域进行初始化。
void *realloc(void *p, size_t size)
realloc 函数将 p 指向的对象的长度修改为 size 个字节。如果新分配的内存比原内存大,则原内存的内容保持不变,增加的空间不进行初始化。如果新分配的内存比原内存小,则新分配内存单元不被初始化:realloc 函数返回指向新分配空间的指针;若无法满足要求,则返回 NULL。在这种情况下,原指针 p 指向的单元内容保持不变。
void free(void *p)
free 函数释放 p 指向的内存空间。当 p 的值为 NULL 时,该函数不执行任何操作。P 必须指向先前使用动态分配函数 malloe、realloc 或 calloc 分配的空间。
void abort(void)
abort函数使程序非正常终止。其功能与raise(SIGABRT)类似。
void exit(int status)
exit 函数使程序正常终止。atexit 函数的调用顺序与注册的顺序相反,这种情况下,所有已打开的文件缓冲区将被清洗,所有已打开的流将被关闭,控制也将返回给环境。status的值如何返回给环境要视具体的实现而定,但 0 值表示终止成功。也可使用值 EXIT_SUCCESS 和 EXIT_FAILURE 作为返回值。
int atexit(void (*fcn)(void))
atexit 函数注册函数 fcn,该函数将在程序正常终止时被调用。如果注册失败,则返回非 0 值。
int system(const char *s)
system 函数将字符串 s 传递给执行环境。如果 s 的值为 NULL,并且有命令处理程序,则该函数返回非 0 值。如果 s 的值不是 NULL,则返回值**与具体的实现有关。 **
char *getenv(const char *name)
getenv 函数返回与 name 有关的环境字符串。如果该字符串不存在,则返回 NULL。其细节与具体的实现有关。
void *bsearch(const void *key,const void *base,size_t n,size_t size,int (*cmp)(const void *keyval,const void *datnum))
bsearch 函数在 base[0]…base[n-1]之间查找与*key 匹配的项。在函数 cmp 中,如果第一个参数(查找关键字)小于第二个参数(表项),它必须返回一个负值;如果第一个参数等于第二个参数,它必须返回零;如果第一个参数大于第二个参数,它必须返回一个正值。数组 base 中的项必须按升序排列。bsearch 函数返回一个指针,它指向一个匹配项,如果不存在匹配项,则返回 NULL。
void qsort(void *base,size_t n,size_t size,int (*cmp)(const void *,const void *))
qsort 函数对 base[0]…base[n-1]数组中的对象进行升序排序,数组中每个对象的长度为 size。比较函数 cmp 与 bsearch 函数中的描述相同。
int abs(int n)
abs函数返回int类型参数n的绝对值。
long labs(long n)
labs函数返回long类型参数n的绝对值。
div_t div(int num,int denom)
div函数计算num/denom的商和余数,并把结果分别保存在结构类型div_t的两个int类型的成员quot和rem中。
ldiv_t ldiv(long num,long denom)
idiv 函数计算 num/denom 的商和余数,并把结果分别保存在结构类型 idiv_t 的两个long类型的成员quot和rem中。
#include
#include
#include
int main()
{
float val;
char str[20];
strcpy(str, "114514.1919810");
val = atof(str);
printf("字符串值 = %s, 浮点值 = %f\n", str, val);
strcpy(str, "MAGA");
val = atof(str);
printf("字符串值 = %s, 浮点值 = %f\n", str, val);
return(0);
}
PS G:\CSAPP> & 'c:\Users\swy\.vscode\extensions\ms-vscode.cpptools-0.27.1\debugAdapters\bin\WindowsDebugLauncher.exe' '--stdin=Microsoft-MIEngine-In-wi4bj35e.lv2' '--stdout=Microsoft-MIEngine-Out-m2pfdpyn.juk' '--stderr=Microsoft-MIEngine-Error-fc22tpzv.qjd' '--pid=Microsoft-MIEngine-Pid-ggcipet3.olq' '--dbgExe=G:\x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0\mingw64\bin\gdb.exe' '--interpreter=mi'
字符串值 = 114514.1919810, 浮点值 = 114514.195313
字符串值 = MAGA, 浮点值 = 0.000000
PS G:\CSAPP>
#include
#include
#include
int main()
{
int val;
char str[20];
strcpy(str, "114514");
val = atoi(str);
printf("字符串值 = %s, 整型值 = %d\n", str, val);
strcpy(str, "King of knowing");
val = atoi(str);
printf("字符串值 = %s, 整型值 = %d\n", str, val);
return(0);
}
PS G:\CSAPP> & 'c:\Users\swy\.vscode\extensions\ms-vscode.cpptools-0.27.1\debugAdapters\bin\WindowsDebugLauncher.exe' '--stdin=Microsoft-MIEngine-In-b0mz0s3w.vig' '--stdout=Microsoft-MIEngine-Out-2rdqnedv.5v1' '--stderr=Microsoft-MIEngine-Error-pe3upngg.4qg' '--pid=Microsoft-MIEngine-Pid-itwhaq0l.0rb' '--dbgExe=G:\x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0\mingw64\bin\gdb.exe' '--interpreter=mi'
字符串值 = 114514, 整型值 = 114514
字符串值 = King of knowing, 整型值 = 0
PS G:\CSAPP>
#include
#include
#include
int main()
{
long val;
char str[20];
strcpy(str, "1145141919810");//这里好像溢出了,2333
val = atol(str);
printf("字符串值 = %s, 长整型值 = %ld\n", str, val);
strcpy(str, "no one knows better than me");
val = atol(str);
printf("字符串值 = %s, 长整型值 = %ld\n", str, val);
return(0);
}
PS G:\CSAPP> & 'c:\Users\swy\.vscode\extensions\ms-vscode.cpptools-0.27.1\debugAdapters\bin\WindowsDebugLauncher.exe' '--stdin=Microsoft-MIEngine-In-p1w5cmak.y5j' '--stdout=Microsoft-MIEngine-Out-hn4zk2po.bax' '--stderr=Microsoft-MIEngine-Error-ey03orpu.lsv' '--pid=Microsoft-MIEngine-Pid-sqarirwh.3j2' '--dbgExe=G:\x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0\mingw64\bin\gdb.exe' '--interpreter=mi'
字符串值 = 1145141919810, 长整型值 = -1614348222
字符串值 = no one knows better than me, 长整型值 = 0
PS G:\CSAPP>
#include
#include
int main()
{
char str[30] = "115514.1919810 Deep Dark Fantasy";
char *ptr;
double ret;
ret = strtod(str, &ptr);
printf("数字(double)是 %lf\n", ret);
printf("字符串部分是 |%s|", ptr);
return(0);
}
PS G:\CSAPP> & 'c:\Users\swy\.vscode\extensions\ms-vscode.cpptools-0.27.1\debugAdapters\bin\WindowsDebugLauncher.exe' '--stdin=Microsoft-MIEngine-In-xafg4iyb.ryj' '--stdout=Microsoft-MIEngine-Out-bfhsikkl.r3t' '--stderr=Microsoft-MIEngine-Error-xt2bjyjj.cnd' '--pid=Microsoft-MIEngine-Pid-moljvfew.gvp' '--dbgExe=G:\x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0\mingw64\bin\gdb.exe' '--interpreter=mi'
数字(double)是 115514.191981
字符串部分是 | Deep Dark Fanta|
PS G:\CSAPP>
#include
#include
int main()
{
char str[30] = "1919810 I'm an artist";
char *ptr;
long ret;
ret = strtol(str, &ptr, 10);
printf("数字(无符号长整数)是 %ld\n", ret);
printf("字符串部分是 |%s|", ptr);
return(0);
}
PS G:\CSAPP> & 'c:\Users\swy\.vscode\extensions\ms-vscode.cpptools-0.27.1\debugAdapters\bin\WindowsDebugLauncher.exe' '--stdin=Microsoft-MIEngine-In-0fxo35q5.0xc' '--stdout=Microsoft-MIEngine-Out-55b0s21g.5as' '--stderr=Microsoft-MIEngine-Error-2rjy5x1n.4sq' '--pid=Microsoft-MIEngine-Pid-co5s5lgk.w2p' '--dbgExe=G:\x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0\mingw64\bin\gdb.exe' '--interpreter=mi'
数字(无符号长整数)是 1919810
字符串部分是 | I'm an artist|
PS G:\CSAPP>
#include
#include
int main()
{
char str[30] = "114514 boy next door";
char *ptr;
long ret;
ret = strtoul(str, &ptr, 10);
printf("数字(无符号长整数)是 %lu\n", ret);
printf("字符串部分是 |%s|", ptr);
return(0);
}
PS G:\CSAPP> & 'c:\Users\swy\.vscode\extensions\ms-vscode.cpptools-0.27.1\debugAdapters\bin\WindowsDebugLauncher.exe' '--stdin=Microsoft-MIEngine-In-riu2y0o5.oif' '--stdout=Microsoft-MIEngine-Out-rdrzhpa2.r2g' '--stderr=Microsoft-MIEngine-Error-gun2f3j3.ij5' '--pid=Microsoft-MIEngine-Pid-abq231c4.ojg' '--dbgExe=G:\x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0\mingw64\bin\gdb.exe' '--interpreter=mi'
数字(无符号长整数)是 114514
字符串部分是 | boy next door|
PS G:\CSAPP>
#include
#include
#include
int main()
{
int i, n;
time_t t;
n = 5;
srand((unsigned) time(&t));
/* 输出 0 到 114514 之间的 5 个随机数 */
for( i = 0 ; i < n ; i++ ) {
printf("%d\n", rand() % 114514);
}
return(0);
}
PS G:\CSAPP> & 'c:\Users\swy\.vscode\extensions\ms-vscode.cpptools-0.27.1\debugAdapters\bin\WindowsDebugLauncher.exe' '--stdin=Microsoft-MIEngine-In-4vnbjkcr.rk5' '--stdout=Microsoft-MIEngine-Out-d4zujvyp.yj1' '--stderr=Microsoft-MIEngine-Error-csiro0pf.kxk' '--pid=Microsoft-MIEngine-Pid-z1zb2sa5.hz3' '--dbgExe=G:\x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0\mingw64\bin\gdb.exe' '--interpreter=mi'
28580
9743
19737
9862
26194
PS G:\CSAPP>
#include
#include
#include
int main()
{
int i, n;
time_t t;
n = 5;
srand((unsigned) time(&t));
/* 输出 0 到 114514 之间的 5 个随机数 */
for( i = 0 ; i < n ; i++ ) {
printf("%d\n", rand() % 50);
}
return(0);
}
PS G:\CSAPP> & 'c:\Users\swy\.vscode\extensions\ms-vscode.cpptools-0.27.1\debugAdapters\bin\WindowsDebugLauncher.exe' '--stdin=Microsoft-MIEngine-In-rkojtvky.lnw' '--stdout=Microsoft-MIEngine-Out-hs31gvnq.4jd' '--stderr=Microsoft-MIEngine-Error-rpfn1qe0.5qy' '--pid=Microsoft-MIEngine-Pid-ucuuf1z2.vgs' '--dbgExe=G:\x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0\mingw64\bin\gdb.exe' '--interpreter=mi'
13
37
25
20
4
PS G:\CSAPP>
#include
#include
int main()
{
int i, n;
int *a;
printf("要输入的元素个数:");
scanf("%d",&n);
a = (int*)calloc(n, sizeof(int));
printf("输入 %d 个数字:\n",n);
for( i=0 ; i < n ; i++ )
{
scanf("%d",&a[i]);
}
printf("输入的数字为:");
for( i=0 ; i < n ; i++ ) {
printf("%d ",a[i]);
}
free (a); // 释放内存
return(0);
}
PS G:\CSAPP> & 'c:\Users\swy\.vscode\extensions\ms-vscode.cpptools-0.27.1\debugAdapters\bin\WindowsDebugLauncher.exe' '--stdin=Microsoft-MIEngine-In-rbwyy2by.lxd' '--stdout=Microsoft-MIEngine-Out-euviclev.1vm' '--stderr=Microsoft-MIEngine-Error-ydn10f3p.4ah' '--pid=Microsoft-MIEngine-Pid-uf51kdoc.cvt' '--dbgExe=G:\x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0\mingw64\bin\gdb.exe' '--interpreter=mi'
要输入的元素个数:3
输入 3 个数字:
1
1
4
输入的数字为:1 1 4
PS G:\CSAPP>
#include
#include
#include
int main()
{
char *str;
/* 最初的内存分配 */
str = (char *) malloc(15);
strcpy(str, "114514");
printf("String = %s, Address = %u\n", str, str);
/* 重新分配内存 */
str = (char *) realloc(str, 25);
strcat(str, ".1919810");
printf("String = %s, Address = %u\n", str, str);
free(str);
return(0);
}
PS G:\CSAPP> & 'c:\Users\swy\.vscode\extensions\ms-vscode.cpptools-0.27.1\debugAdapters\bin\WindowsDebugLauncher.exe' '--stdin=Microsoft-MIEngine-In-bfeestmu.v2w' '--stdout=Microsoft-MIEngine-Out-rydfbj1o.zh4' '--stderr=Microsoft-MIEngine-Error-bbzzwfc4.zaw' '--pid=Microsoft-MIEngine-Pid-qgd4iiey.i5d' '--dbgExe=G:\x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0\mingw64\bin\gdb.exe' '--interpreter=mi'
String = 114514, Address = 12925760
String = 114514.1919810, Address = 12929968
PS G:\CSAPP>
#include
#include
#include
int main()
{
char *str;
/* 最初的内存分配 */
str = (char *) malloc(15);
strcpy(str, "swy20190");
printf("String = %s, Address = %p\n", str, str);
/* 重新分配内存 */
str = (char *) realloc(str, 25);
strcat(str, ".github.io");
printf("String = %s, Address = %p\n", str, str);
free(str);
return(0);
}
PS G:\CSAPP> & 'c:\Users\swy\.vscode\extensions\ms-vscode.cpptools-0.27.1\debugAdapters\bin\WindowsDebugLauncher.exe' '--stdin=Microsoft-MIEngine-In-zrayxjah.dng' '--stdout=Microsoft-MIEngine-Out-km2mpg4c.qes' '--stderr=Microsoft-MIEngine-Error-hrigx225.bok' '--pid=Microsoft-MIEngine-Pid-lprzjuor.evb' '--dbgExe=G:\x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0\mingw64\bin\gdb.exe' '--interpreter=mi'
String = swy20190, Address = 0000000000B33B40
String = swy20190.github.io, Address = 0000000000B34BB0
PS G:\CSAPP>
见以上代码
#include
#include
int main ()
{
FILE *fp;
printf("准备打开 brainOfTrump.txt\n");
fp = fopen( "brainOfTrump.txt","r" );
if(fp == NULL)
{
printf("准备终止程序\n");
abort();
}
printf("准备关闭 brainOfTrump.txt\n");
fclose(fp);
return(0);
}
PS G:\CSAPP> & 'c:\Users\swy\.vscode\extensions\ms-vscode.cpptools-0.27.1\debugAdapters\bin\WindowsDebugLauncher.exe' '--stdin=Microsoft-MIEngine-In-0qzhqslw.k0n' '--stdout=Microsoft-MIEngine-Out-yfaqjfff.ynl' '--stderr=Microsoft-MIEngine-Error-edtophcp.kk1' '--pid=Microsoft-MIEngine-Pid-zvo12ah5.2ru' '--dbgExe=G:\x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0\mingw64\bin\gdb.exe' '--interpreter=mi'
准备打开 brainOfTrump.txt
准备终止程序
PS G:\CSAPP>
略
#include
#include
void functionA ()
{
printf("这是函数A\n");
}
int main ()
{
/* 注册终止函数 */
atexit(functionA );
printf("启动主程序...\n");
printf("退出主程序...\n");
return(0);
}
PS G:\CSAPP> & 'c:\Users\swy\.vscode\extensions\ms-vscode.cpptools-0.27.1\debugAdapters\bin\WindowsDebugLauncher.exe' '--stdin=Microsoft-MIEngine-In-txdgsa1b.44y' '--stdout=Microsoft-MIEngine-Out-ix1wlj44.khj' '--stderr=Microsoft-MIEngine-Error-4hshwo4g.fzj' '--pid=Microsoft-MIEngine-Pid-nwgredo1.1cm' '--dbgExe=G:\x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0\mingw64\bin\gdb.exe' '--interpreter=mi'
启动主程序...
退出主程序...
这是函数A
PS G:\CSAPP>
#include
#include
int main ()
{
char command[50];
strcpy( command, "dir" );
system(command);
return(0);
}
PS G:\CSAPP> & 'c:\Users\swy\.vscode\extensions\ms-vscode.cpptools-0.27.1\debugAdapters\bin\WindowsDebugLauncher.exe' '--stdin=Microsoft-MIEngine-In-yb24i1g4.czx' '--stdout=Microsoft-MIEngine-Out-if3sqxo3.svt' '--stderr=Microsoft-MIEngine-Error-0qjjzazj.tva' '--pid=Microsoft-MIEngine-Pid-3kjo2fpb.nfu' '--dbgExe=G:\x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0\mingw64\bin\gdb.exe' '--interpreter=mi'
Volume in drive G is 新加卷
Volume Serial Number is 1ACE-4613
Directory of G:\CSAPP
2020/05/03 23:21 <DIR> .
..
PS G:\CSAPP>
略
#include
#include
int cmpfunc(const void * a, const void * b)
{
return ( *(int*)a - *(int*)b );
}
int values[] = { 1, 2, 4, 8, 16 };
int main ()
{
int *item;
int key = 8;
/* 使用 bsearch() 在数组中查找值 8 */
item = (int*) bsearch (&key, values, 5, sizeof (int), cmpfunc);
if( item != NULL )
{
printf("Found item = %d\n", *item);
}
else
{
printf("Item = %d could not be found\n", *item);
}
return(0);
}
PS G:\CSAPP> & 'c:\Users\swy\.vscode\extensions\ms-vscode.cpptools-0.27.1\debugAdapters\bin\WindowsDebugLauncher.exe' '--stdin=Microsoft-MIEngine-In-qpylfvl1.sdc' '--stdout=Microsoft-MIEngine-Out-enza4t1x.3v4' '--stderr=Microsoft-MIEngine-Error-4ayhrm3e.gsm' '--pid=Microsoft-MIEngine-Pid-eycid5ux.jye' '--dbgExe=G:\x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0\mingw64\bin\gdb.exe' '--interpreter=mi'
Found item = 8
PS G:\CSAPP>
#include
#include
int values[] = { 11, 45, 14, 1, 91 };
int cmpfunc (const void * a, const void * b)
{
return ( *(int*)a - *(int*)b );
}
int main()
{
int n;
printf("排序之前的列表:\n");
for( n = 0 ; n < 5; n++ ) {
printf("%d ", values[n]);
}
qsort(values, 5, sizeof(int), cmpfunc);
printf("\n排序之后的列表:\n");
for( n = 0 ; n < 5; n++ ) {
printf("%d ", values[n]);
}
return(0);
}
PS G:\CSAPP> & 'c:\Users\swy\.vscode\extensions\ms-vscode.cpptools-0.27.1\debugAdapters\bin\WindowsDebugLauncher.exe' '--stdin=Microsoft-MIEngine-In-zuhd5uml.4kt' '--stdout=Microsoft-MIEngine-Out-vokjbnd0.u0l' '--stderr=Microsoft-MIEngine-Error-bmzp1vhd.w3z' '--pid=Microsoft-MIEngine-Pid-aszae1gz.ody' '--dbgExe=G:\x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0\mingw64\bin\gdb.exe' '--interpreter=mi'
排序之前的列表:
11 45 14 1 91
排序之后的列表:
1 11 14 45 91
PS G:\CSAPP>
#include
#include
int main ()
{
int a, b;
a = abs(114);
printf("a 的值 = %d\n", a);
b = abs(-514);
printf("b 的值 = %d\n", b);
return(0);
}
PS G:\CSAPP> & 'c:\Users\swy\.vscode\extensions\ms-vscode.cpptools-0.27.1\debugAdapters\bin\WindowsDebugLauncher.exe' '--stdin=Microsoft-MIEngine-In-qmtru34r.xc3' '--stdout=Microsoft-MIEngine-Out-wyoasal3.wws' '--stderr=Microsoft-MIEngine-Error-4cgvf1e4.x3j' '--pid=Microsoft-MIEngine-Pid-dkoc020p.s2m' '--dbgExe=G:\x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0\mingw64\bin\gdb.exe' '--interpreter=mi'
a 的值 = 114
b 的值 = 514
PS G:\CSAPP>
同上
#include
#include
int main()
{
div_t output;
output = div(27, 4);
printf("(27/ 4) 的商 = %d\n", output.quot);
printf("(27/4) 的余数 = %d\n", output.rem);
output = div(27, 3);
printf("(27/ 3) 的商 = %d\n", output.quot);
printf("(27/3) 的余数 = %d\n", output.rem);
return(0);
}
PS G:\CSAPP> & 'c:\Users\swy\.vscode\extensions\ms-vscode.cpptools-0.27.1\debugAdapters\bin\WindowsDebugLauncher.exe' '--stdin=Microsoft-MIEngine-In-4ymsl54p.oza' '--stdout=Microsoft-MIEngine-Out-3qhi3ny1.3j2' '--stderr=Microsoft-MIEngine-Error-kxzuscnz.ofy' '--pid=Microsoft-MIEngine-Pid-0z3heoqb.iv3' '--dbgExe=G:\x86_64-8.1.0-release-posix-sjlj-rt_v6-rev0\mingw64\bin\gdb.exe' '--interpreter=mi'
(27/ 4) 的商 = 6
(27/4) 的余数 = 3
(27/ 3) 的商 = 9
(27/3) 的余数 = 0
PS G:\CSAPP>
略。同上。