摘要: printf(“hello 你好”);函数 双引号里面的字符串代表一个参数,c用逗号隔开函数调用中的多个参数 printf ()和scanf()参数不受限制,通过第一个参数中的格式说明符确定后面有多少个参数,使用%d 显示float类型的值,不会将float值转换为近似的int值,而是显示垃圾值,同理%f显示int显示的也是垃圾值。参数的数目不足和类型不匹配所造成的结果也将随着平台不同而不同。c语言不要求计算机检查类型不匹配的错误。所以当程序显示结果和期望值不同时有必要检查printf函数的参数是否正确。 阅读全文
posted @ 2014-01-10 11:26 world——hello 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 字符串指针做函数参数时,可以只传一个指针进去char*str。但是字符数组名必须传两个参数进去,(可以是char a[10],int len)一个是数组名,另一个是数组长度。可以不可以是(char a,int len) 或(char a[],int len) 阅读全文
posted @ 2014-01-09 17:13 world——hello 阅读(1521) 评论(0) 推荐(0) 编辑
摘要: 数组在定义的时候必须指明它的长度。不然在后面往数组里面写东西的时候可以写进去,但是strlen()测试数组长度的时候会出错。程序不知道这个数组多长,他会在读到 \0 字符的时候结束。 阅读全文
posted @ 2014-01-07 11:19 world——hello 阅读(112) 评论(0) 推荐(0) 编辑
摘要: inta;intm;int*p=&a;m=*p++;m=*(p++);因为*(p++)先让p++,但是没遇到序列点之前,++的副作用没有产生,也就是p的值还没改变。然后将*p赋给m。先将*p赋给m,然后让p++;m不变。1.m=(*p)++;先取*p的值赋给m,再让*p的值++;m=++*p;先让*p加1,在把*p赋给m,p的值没变。m=++(*p);m=*++p;先让p加1,在把*p赋给m。m=*(++p);总结:1.++挨着p则改变p的值,*p的值不变,否则改变*p的值,p的值不变,除非*p被小括号括起来了,把*p当成一个整体来看改变的是*p的值。 2. 以p为中心先向左计算再向右 阅读全文
posted @ 2014-01-02 22:19 world——hello 阅读(307) 评论(0) 推荐(0) 编辑
摘要: 如果定义一个指针char*p;如果在定义时初始化例如:char*p = “abc”,让p指向字符串abcp未初始化 且p是局部变量p会指向一个未知的空间。如果执行strcpy(p,“def”);字符串多于8个字节不行。如果执行p = “abc”;让p指向文字常量区的字符串abc。如果执行strcpy(buf,p)//buf是一个字符串数组。指针类型不兼容。strcpy(buf,“abu”);可以把字符串存到buf中。char*p定义的是 全局变量,p默认初始化为NULL。不能对它进行strcpy(p,字符串数组/字符串常量)低地址空间不能操作。 阅读全文
posted @ 2013-12-22 17:38 world——hello 阅读(921) 评论(0) 推荐(0) 编辑
摘要: memset函数使用详解今天做题卡在MEMSET函数的使用上了,本来以为int a[100]; memset(a, MAX,sizeof(a));就是将a数组全部赋值为MAX,现在才知道他的填充是以字节为单位,一般用于对字符型变量的初值进行赋值.更详细的解说见百度百科 -->http://baike.baidu.com/view/982208.htm1。void *memset(void *s,int c,size_t n)总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c。2。例子 #includevoid main(){ char *s="Golden Glob 阅读全文
posted @ 2013-12-19 22:39 world——hello 阅读(135) 评论(0) 推荐(0) 编辑
摘要: printf(),以%s格式输出字符串时,遇到\0结束。#include #include int main(){char str[] = "hello world linux!";char*str2 =“hello world linux!”printf("%s\n", str); char *ret = strtok(str, " ");//调用strtok函数以空格分隔字符,就是吧字符串数组str里的第一个空格里的//前面所有字符割下来放到,让ret和str都指向被切割下来的字符串。printf("%s, %s\n&q 阅读全文
posted @ 2013-12-19 16:17 world——hello 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 一:填空(共28分)1.(2分)structAA{chara;//0charb[2];//1,2shortc;//45intd; //891012};请问sizeof(structAA)是___12_结构体起始地址就是第一个成员的起始地址__。2.(2分)structBB{chara;//0shortb[2];//2,3,4,5charc;//6intd;//8,9,10,11};请问sizeof(structBB)是___12___。3.(6分)int*p=NULL;intmain(){inti=3;staticinta=5;int*p1=NULL;p=&a;*p=i;p1=(int 阅读全文
posted @ 2013-12-19 14:50 world——hello 阅读(451) 评论(0) 推荐(0) 编辑
摘要: strcpy(dest,src)只能复制src空间里面的一个字符串,遇到null复制完就结束。strncpy(dest,n,src)写明了要复制 n 个字符,不会因为遇到null停止,但是不会在最后添加 \0 字符。也就是dest后面的字符也可以输出。如果想不输出dest后面的字符可以对dest空间初始化为{0},或者另dest中的第n+1(从1开始记数)个字符=0。 阅读全文
posted @ 2013-12-19 11:52 world——hello 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 看一个函数,一看参数个数,参数格式,二看函数返回值查看12.17号写的程序。FILE*fp定义一个文件指针变量,fpfp=fopen(“a.txt”,“w”);打开了a.txt文件,fp指向了该文件,作为该文件的标记位。第一个参数是文件名组成的字符串,或字符串指针,或字符数组名。就可以在当前文件里面对a.txt文件(只能)进行写操作(r只读,a在a.txt后面追加操作)对于以a方式打开的文件rewind 和fseek函数不能改变文件偏移指针的位置,永远指向文件尾。如果想读里面的数据,必须先fclose(fp),然后以a+或r的的方式打开fp指向的文件。不能以w或w+的方式打开fp指向的文件,这 阅读全文
posted @ 2013-12-19 11:48 world——hello 阅读(235) 评论(0) 推荐(0) 编辑