#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char * title= "web 数学 算法 是不是空间不够长";
int str_comparer()
{
// 字符串是个指向字符串开头的指针
char * tt1 = "aac";
char * tt2 = "aa";
// 字符串可以直接转换成整数, 前面加个*, 输出内容的时候倒不用*
printf("Text \"%s\" to Int: %d\n",tt1,*tt1);
printf("Text \"%s\" to Int: %d\n",tt2,*tt2);
// 比较字符串函数会返回一个数字, 是对应位置第一个不同字母ASCII的差
int cmp = strcmp(tt1,tt2);
// 只有这个函数用到了<string.h>
return cmp;
}
void asciiList()
{
int ascii_start = 32;
int ascii_end = 127;
int ii;
for (ii=ascii_start;ii<=ascii_end;ii++)
{
char * nn;
if (ii%16==0) {
nn = "\n";
}
else {
nn = " ";
}
printf("%d: %c %s",ii,ii,nn);
}
puts("\n\n");
}
int main()
{
printf("\n这应该是字符串\"%s\"的第一个字母的ascii吧? %c,%d\n",title,*title,'w');
title = "\n比较两个字符串";
// 所以,在操作指针变量的时候,声明时用*,赋值和修改不用* (*title)直接写变量名 (title),调用也不加*,如果加*,则调用的是第一个字符。
printf("\nTitle: %s\n\n\n",title);
int res = str_comparer();
printf("\nCompare(tt1,tt2): %d\n",res);
// 所以,比较的不是长度,而是位置。
title = "\n字母排行";
printf("\n%s\n",title);
asciiList();
return 0;
}