随笔分类 -  c

不想用链表的可以看下,c语言
摘要:废话先不说,看代码int main(int argc, char* argv[]){int a[8]={0,1,2,3,4,5,6,7};int *(*p);p=(int**)malloc(20);p[0]=&a[1];p[1]=&a[0];printf("%d %d\n",a[0],a[1]);printf("%d %d\n",*(p[0]),*(p[1]));p[0]=&a[3];printf("%d %d\n",*(p[0]),*(p[1]));printf("%d %d\n",a[0 阅读全文

posted @ 2012-05-29 19:05 轻歌曼舞 阅读(208) 评论(0) 推荐(0)

为scanf()耗费的半天
摘要:看例子:{char a[256];int b;char c;scanf("%s",a);scanf("%d%c",&b,&c);}这样写了之后,每次输入一个字符串和一个整数后,就结束了,坑爹,经过多方考证知道了涉及到这个函数的理解问题,,,当你输入到屏幕中的时候,他是一个系统的标准输入文件流,你输入的东西都在这个流文件里面,这个时候,scanf()做的事情就是对应的读取过程了,但是%c很特殊,他总是被忽略,导致很多时候没读入或者是非法操作,提供自己验证的两种方法:1、scanf("%s",a);scanf(" 阅读全文

posted @ 2012-04-28 19:40 轻歌曼舞 阅读(153) 评论(0) 推荐(0)

c语言语法容易忽视点
摘要:1、逻辑运算符 潜在的危险void main(){int x=3,y=4;if(++x || ++y) printf("%d",y)}说明,本拟题中“||”判断符,只要前面是1,就不计算后面的,直接返回正确同样可以想象“&&”判断的时候,只要前面是0,就直接返回了2、关于++p和p++在程序中区别的问题大家都知道int p=2; int m; m=p++的结果是m=2,而m=++p的结果是3,这很容易理解,p++是先运算,后赋值的。 那么在遇到问题的时候,就不妨将其用一个变量代替,下面附上例子:(1)int i=3;do{printf("%d&qu 阅读全文

posted @ 2012-04-27 15:20 轻歌曼舞 阅读(206) 评论(0) 推荐(0)