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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 你说呢 中级黑马   /  2015-7-18 10:41  /  632 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

//fgets()
//        该函数一个文件操作相关的函数
//        暂时使用这个函数可以从键盘上吸收一个字符串,保存到数组中
//fets从输入缓冲区读取一个字符串保存到字符数组中
//当输入的字符串的长度大于数组的长度,此后死gets会自动的
//把数组的最后一个元素变成\0
//当输入的字符串长度小于数组的长度,fgets会接收回车
//fputs();文件操作相关的函数
//格式:
//        fputs(数组名,stdout);

// 原来接受字符串保存到数组中的方法
//          char str[39];
//          1.scanf("%s",str);不能接受空格
//          2.gets(str);优点 可以接受kongge
//                                          会有一个警告,不安全
//                                          没有空间存放结束符
#include<stdio.h>
#include<string.h>
int main(){
        char ch[5];
        fgets(ch,sizeof(ch),stdin);
        fputs(ch,stdout);
        printf("%s\n",ch);
        for(int i=0;i<5;i++){
                printf("%d\t",ch[i]);
        }
       
        strlen(ch);//不包含\0
        if(ch[strlen(ch)-1] =='\n')ch[strlen(ch)-1] ='\0';
        for(int i=0;i<5;i++){
                printf("%d\t",ch[i]);
        }
}
gets();越界
scanf("%s",&ch) ;也会有越界问题

0 个回复

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