posts - 19,  comments - 21,  trackbacks - 0

12 2005 档案

scanf()函数释疑(下)
     摘要: 问题三:键盘缓冲区残余信息问题
#include
int main()
{
int a;
char c;

do
{
scanf("%d",&a);
scanf("%c",&c);
printf("a=%d c=%c\n",a,c);
/*printf("c=%d\n",c);*/
}while(c!='N');
}

scanf("%c",&c);这句不能正常接收字符,什么原因呢?我们用printf("c=%d\n",c);将C用int表示出来,启用printf("c=%d\n",c);这一句,看看scanf()函数赋给C到底是什么,结果是 c=10 ,ASCII值为10是什么?换行即\n.对了,我们每击打一下"Enter"键,向键盘缓冲区发去一个“回车”(\r),一个“换行"(\n),在这里\r被scanf()函数处理掉  阅读全文

posted @ 2005-12-26 17:13 halCode 阅读(414) | 评论 (0)  编辑

scanf()函数释疑(上)

posted @ 2005-12-26 17:11 halCode 阅读(451) | 评论 (0)  编辑

数组和指针总结
     摘要: 1.定义
定义数组时必须指定数组的类型和大小,
定义指针时只需要指定类型。
2.存储空间的分配

对于数组,因为系统会按照你指定的大小为数组分配存储空间,这也是为什么数组必须指定大小的原因,如:char array[5] ; //系统会自动为其预留sizeof(char)*5个字节的连续内存(注意是连续的)。所以我们可以对array[0]...array[4]这五个变量随便访问(读和写)都不会有问题。
对于指针,系统只会为所定义的指针变量分配空间,指针所指向的地点并未分配。举个例子: char *p ; 这里会为变量p分配空间,大小为4字节(32位机),但是*p(就是p指向的地方)却是随机的地方,这个地方系统也不为其分配空间。所以在这种情况下,你访问和给p赋值(p=...)都是允许的,但是访问*p或者给*p赋值都是错误的。我们要想使用*p必须先使其指向有效区域,这可以通过动态申请内存或者赋值(将知道的有效地点赋给它)来实现。
提醒一下:对于指针,在使用时,不光所指向的区域能读写,指针变量本身也能读写,但是数组不同,数组名的不能写的  阅读全文

posted @ 2005-12-18 21:08 halCode 阅读(920) | 评论 (0)  编辑

VC 6操作技巧

posted @ 2005-12-17 13:36 halCode 阅读(347) | 评论 (0)  编辑

NSIS常见问题集锦

posted @ 2005-12-01 13:31 halCode 阅读(2250) | 评论 (1)  编辑


<2024年12月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

常用链接

留言簿(7)

随笔分类

随笔档案

文章分类

文章档案

相册

编程资源

不务正业

找工作

搜索

  •  

最新评论

阅读排行榜

评论排行榜