A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

一、fgets()和fputs()的使用
(1)fgets():
1)该函数时一个文件操作相关的函数,暂时使用这个函数可以从键盘上接收一个字符串,保存到数组中。
2)原来接收字符串保存到数组中的方法
A.  Scanf(“%s\n”,str);                //缺点:不能接收空格
B.  gets(str);                                //优点:可以接收空格
缺点:会有一个警告,不安全的
不安全:比如数组长度是50,如果我们输入的长度正好是50个。此时把50个字符全部存到数组中,存在问题。因为没有空间存放字符串结束符(\0)。
3)fgets()是一个安全的字符串接收的函数
char ch[5];                //如果使用fgets此时数组中最多存放4个可见字符
//会自动把数组的最后一个元素存放\0
//当输入的字符串的长度小于数组长度的时候,还会保存回车
4)fgets()使用格式:
fgets(数组名,数组长度,stdin);
例:
char ch[5];
fgets(ch,sizeof(ch),stdin);
(2)fputs():
fputs(str,stout);

二、const关键字
概念:使用const修饰变量可以让变量的值不能改变。
使用:
1)修饰变量
                * 但是用指针可以强制转换
                int a=10;
                int *temp=&a;
                *temp=100;
                只是在地址中的值发生了改变,但是控制台输出还是a=10,*p=100
2)修饰指针变量
                A.指向可以变,但是指向的变量的值不能改变
const int *p=&a;
B.指向的变量的值可以变,但是指向不能变
int * const p=&a;
C.指向不能变,指向内容的值也不能变
const int * const *p=&a;
记忆技巧:
看 *  和 const 的位置
如果const在*的左侧,表示指针变量指向的变量的值不能改变,指针的指向可以改变。
如果const在*的右侧,指针变量指向的变量的值可以改变的,指针的指向不可以改变。
如果const出现在*的两侧,都不能变。
3)修饰数组

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马