
C语言
文章平均质量分 69
xiancaifu
这个作者很懒,什么都没留下…
展开
-
C数据类型转换小结(int转换char时有问题)
<br />1.自动类型转换<br />●字符型变量的值实质上是一个8位的整数值,因此取值范围一般是-128~127,char型变量也可以加修饰符unsigned,则unsignedchar 型变量的取值范围是0~255(有些机器把char型当做unsighed char型对待, 取值范围总是0~255)。<br /> ● 如果一个运算符两边的运算数类型不同,先要将其转换为相同的类型,即较低类型转换为较高类型,然后再参加运算,转换规则如下图所示。<br />原创 2010-12-10 15:42:00 · 12985 阅读 · 0 评论 -
自己实现atoi系列(atoi函数)
<br /><br />atoi系列是字符跟数字之间转换常用的函数,其实自己实现也是挺快的,这里写一种带格式检测的atoi函数。<br />函数说明<br />atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('/0')才结束转换,并将结果返回。<br />返回值<br />返回转换后的整型数。<br /> <br />#include<stdio.h><br />int my_atoi(const char * str)<br />原创 2011-03-11 18:25:00 · 884 阅读 · 0 评论 -
函数指针,函数指针数组,函数指针数组的指针
函数指针的使用先看如下例子:#include #include char * fun(char * p1,char * p2){int i = 0;i = strcmp(p1,p2);if (0 == i){return p1;}else{return p2;}}intmain(){char * (*pf)(char * p1,char * p2);pf = &fun;(*pf) ("aa","bb");return 0;}我们使用指针的时候,需要通过钥匙(“*”)来取其指向的内存里面的值,函数指针使用也如原创 2011-03-12 18:54:00 · 2220 阅读 · 1 评论 -
在C中如何使函数返回数组
<br /> Java语言的函数可以轻易的返回一个数组,而C/C++却不能直接返回一个数组。这是由于在C/C++中,数组不是一种类型,因此不能被直接返回。<br /> 在C/C++中,一般有两种方法来返回一个数组。<br />第一种方法:<br /> 返回一个指向数组的指针,例如char (*retArray)[10]声明了一个函数retArray,该函数可以返回指向具有10个char元素的数组<br /> 例子如下:<br />view plaincopy to clipboardprint?<br原创 2011-03-12 18:03:00 · 679 阅读 · 0 评论 -
sscanf函数和正则表达式
<br />此文所有的实验都是基于下面的程序: <br /><br />char str[10]; <br /><br />for (int i = 0; i < 10; i++) str[i] = '!'; <br /><br />执行完后str的值为 <br /><br />str = "!!!!!!!!!!" <br /><br />我们把str的每个字符都初始化为惊叹号,当str的值发生变化时,使用printf打印str的值,对比先前的惊叹号,这样就可以方便的观察str发生了怎样的变化。下面我们做几原创 2011-03-12 14:13:00 · 451 阅读 · 0 评论 -
ctype.h里函数
ctype.h ctype.h里的函数 1 字符测试函数 1> 函数原型均为int isxxxx(int) 2> 参数为int, 任何实参均被提升成整型 3> 只能正确处理处于[0, 127]之间的值 2 字符映射函数 1> 函数原型为int toxxxx(int) 2> 对参数进行检测, 若符合范围则转换, 否则不变 int tolower(int); 'A'~'Z' ==> 'a'~'z' int toupper(int); 'a'~'z' ==> 'A'~'Z'原创 2011-03-12 13:27:00 · 555 阅读 · 0 评论 -
strtok函数
strtok目录原型功能说明返回值strtok函数在C和C++语言中的使用cc++其他相关信息原型 功能 说明 返回值 strtok函数在C和C++语言中的使用 c c++其他相关信息展开 编辑本段原型 char *strtok(char *s, char *delim);编辑本段功能 分解字符串为一组字符串。s为要分解的字符串,delim为分隔符字符串。编辑本段说明 首次调用时,s指向要分解的字符串,之后再次调用要把s设原创 2011-03-11 17:44:00 · 4322 阅读 · 0 评论 -
逗号表达式
逗号表达式目录表达式说明:考试技巧:与逗号表达式有关的题编辑本段表达式说明: c语言提供一种特殊的运算符,逗号运算符,优先级别最低,它将两式联接起来,如:(3+5,6+8)称为逗号表达式,其求解过程先表达式1,后表达式2,整个表达式值是表达式2的值,如:(3+5,6+8)的值是14。(a=3*5,a*4)的值是60 逗号表达式的形式如下: 表达式1,表达式2,表达式3,...... ,表达式n 逗号表达式的要领: (1) 逗号表达式的运算过程为:从左往右逐个计算表达式。 (2) 逗原创 2011-03-09 11:32:00 · 2177 阅读 · 0 评论 -
while(scanf("%d%d", &n, &m), n+m)
( scanf("%d %d", &n, &m), n+m) -- 这是“逗号”表达式。第一个 表达式 是 scanf("%d%d", &n, &m),第二个 表达式 是 n+m“逗号”表达式 运算顺序从左到右依表达式次序执行,但是 ,“逗号”表达式 的结果 等于 最后一个 表达式的结果。例如:表达式1,表达式2,表达式3,.....表达式n结果 等于 表达式n 的结果我们 这里先 执行 scanf("%d %d", &n, &m),读入2个整数,n,m, 送原创 2011-03-09 11:36:00 · 3825 阅读 · 1 评论 -
二级指针各种说法(先转着好看看)
就是指向指针的指针,所谓指针就是一个整数,里面存着一个地址 比如 char c = a; //一个字符型变量 char *p; //p是一个指向char类型的指针 p=&c; //现在p里存的是c的地址 char **q; //q是一个二级指针 q=&p; //q里存的是p的地址(p如前所述是个整数,所以p占有内存的一块空 //间,现在q就是指向这个空间的开始) printf("%p",q); //p的地址 printf("%p",*q); //c的地址 printf("%c",**q); //a int原创 2010-12-25 13:41:00 · 622 阅读 · 0 评论 -
C语言scanf函数与空格
<br />| 问题描述一:(scanf()读入字符串中的空格) |<br />----------------------------------------------------<br />#include<stdio.h><br />int main()<br />{<br /> char a[777];<br /> scanf("%[^/n]",&a);<br /> printf("%s",a);<br /> return 0;<br />}<br /><br />说明:<br原创 2010-12-14 20:52:00 · 17207 阅读 · 4 评论 -
深入理解typedef
typedef作为类型定义关键字,用于在原有数据类型(包括基本类型、构造类型和指针等)的基础上,由用户自定义新的类型名称。 在编程中使用typedef的好处,除了为变量取一个简单易记且意义明确的新名称之外,还可以简化一些比较复杂的类型声明。比如:原创 2011-09-09 20:57:13 · 535 阅读 · 0 评论