C语言杂记
- strcmp函数是可以和int数字进行比较的
int ch[] = {, , , };
puts(ch);
if (strcmp("AAA", ch)) {
printf("real?true!");
} - 实现stdlib::atoi函数(字符串转数字)
/**
* 实现stdlib::atoi函数(字符串转数字)
*/
int myatoi(const char *strp) { //用来存放最终值
int result = ; int sign = ; //跳过前面的空白字符
while (*strp == ' ' || *strp == '\t' || *strp == '\n' || *strp == '\f' || *strp == '\b' || *strp == '\r')
++strp; if (*strp == '-') {
sign = -;
++strp;
} else if (*strp == '+') {
sign = ;
++strp;
} while ('' <= *strp && *strp <= '') { short c = (short) (*strp++ - ''); //当前数字乘以乘数,得出补全0的高位
result = * result + c; }
result *= sign; return result;
} 下面是源代码,仔细看了一下,然后修改修改。
isspace(int x)
{
if(x==' '||x=='\t'||x=='\n'||x=='\f'||x=='\b'||x=='\r')
return ;
else
return ;
}
isdigit(int x)
{
if(x<=''&&x>='')
return ;x`
else
return ; }
int atoi(const char *nptr)
{
int c; /* current char */
int total; /* current total */
int sign; /* if '-', then negative, otherwise positive */ /* skip whitespace */
while ( isspace((int)(unsigned char)*nptr) )
++nptr; c = (int)(unsigned char)*nptr++;
sign = c; /* save sign indication */
if (c == '-' || c == '+')
c = (int)(unsigned char)*nptr++; /* skip sign */ total = ; while (isdigit(c)) {
total = * total + (c - ''); /* accumulate digit */
c = (int)(unsigned char)*nptr++; /* get next char */
} if (sign == '-')
return -total;
else
return total; /* return result, negated if necessary */
}
C语言杂记的更多相关文章
- C语言杂记 -- 简陋的<深入理解计算机系统>笔记
程序的表示 l 32位64位操作系统是由CPU寄存器的位数决定,即虚拟寻址的范围为2^32.2^64. l 字节的大端小端法是以字节为基本单位的:比如十进制的7在十六位机器上表示 · 地址 100 1 ...
- C语言 · 复习杂记
/*=================================*/ /* 基础部分 */ /*=================================*/一:.CPP--C++文件: ...
- go语言学习杂记
go语言在windows下下载安装 推荐在golang中国下载 http://www.golangtc.com/download 安装.... go环境变量与工作目录 根据约定GOPATH需要建立3个 ...
- C语言教学杂记——字母排序
一个人在被告诉一个问题应该怎么被解决后,而且亲身试验效果OK后,一旦遇到类似的问题,就会条件反射般直接拿这个方法来用了.很少会去想为什么要用这个方法,会不会有什么隐患,还有没有别的方法呢,等等这些问题 ...
- [杂记]BrainFuck语言及编译器(c++实现)
BrainFuck语言 极简的一种图灵完备的语言,由Urban Müller在1993年创造,由八个指令组成(如下表).工作机制与图灵机非常相似,有一条足够长的纸带,初始时纸带上的每一格都是0,有一个 ...
- R语言入门---杂记(一)---R的常用函数
1.nchar():查看字符串长度. 2.rev(): 给你的数据翻个个 3.sort():给你数据排个序(默认从小到大依次排列) 4.runif():产生均匀分布的随机数 #runif
- 杂记(C语言中的不知怎么归类的细小点。)
1.int a; printf("%d",2a); 从数学上讲,没有丝毫问题,但是在计算机上,就无法识别! 纠正:应写成2*a. 2.关于输出结果保留一位小数的:不应 ...
- 有关Java的日期处理的一些杂记
在企业应用开发中,经常会遇到日期的相关处理,说实话JDK自带的日期方法很难用.就我个人而言我一般都会采用joda-time来替代JDK自身的日期. 这篇文章是杂记,所以写的比较零散,希望大家不要见怪. ...
- 【转】Velocity模板(VM)语言介绍
http://www.blogjava.net/caizh2009/archive/2010/08/20/329495.html Velocity是什么? Velocity是一个基于java的模板引擎 ...
随机推荐
- 深入理解计算机系统第二版习题解答CSAPP 2.17
假设w=4,我们能给每个可能的十六进制数字赋予一个数值,假设用一个无符号或者补码表示.完成下表: x 无符号(B2U(x)) 补码(B2T(x)) 十六进制 二进制 0xE 1110 14 -2 0x ...
- RPM的基础命令/yum基本命令
rpm的使用方式非常简单,常用的一些命令如下: 安装软件:rpm -ivh *.rpm 卸载软件:rpm -e 软件名 升级形式安装:rpm -U *.rpm 常用参数: -v 显示详细信息 -h 显 ...
- CENTOS6 下MATLAB2014b的安装和破解(Matlab_R2014b linux版 安装笔记)
参考:http://www.jianshu.com/p/f0cefc737dda ①在下载matlab linux版.iso, ②在windows下用ULTRAISO软件提取 ③用crack中的ins ...
- php 统计在线人数,今日访问量,总访问量
直接复制到本站点下测试即可 代码如下: <?php header('Content-type: text/html; charset=utf-8');$online_log = "co ...
- ajax 跨域的几种方式
网络上跨域的文章大多一样,这里我写下,巩固下自己的知识,顺便做个记录 什么是跨域 这里简单拿百度的网址做个例子:http://www.baidu.com:80 (默认都是80端口.可省略) http ...
- ASP伪静态页面(不需要通过iis+ISAPI_Rewrite)
很简单的教程,献给喜欢SEO的朋友们. 不需要通过iis+ISAPI_Rewrite做基于IIS的url rewrite 一.数据库很简单使用ACCESS,Data.mdb建立一个表Article,三 ...
- ###学习《Effective C++》
开源中国. #@date: 2014-06-16 #@author: gerui #@email: forgerui@gmail.com 前几天买了好几本书,其中有一本是<Effective C ...
- 第三篇、FMDB使用
简介: FMDB是基于SQlite3的封装一个第三方的OC库,操作起来更加简单,性能比Coredata更加高. 1.创建sqlite文件 2.导入FMDB头文件 3.创建数据库表table 4.编写s ...
- 【html】【10】div布局[div水平垂直居中]
必看参考: http://www.jb51.net/css/28259.html 让div居中对齐缩写形式为: .style{margin:0 auto;} 数字0 表示上下边距是0.可以按照需要设置 ...
- 折腾ghost。。。
1.启动 NODE_ENV=production node index.js 如果出现启动不了的情况,在该命令加sudo sudo NODE_ENV=production node index.js ...