fgets函数从文件读取'\n'并存储,在'\n'后再增加一个'\0'构成字符串。

但fgets函数需要指定读入的字符数,如果指定了n,则最多只能读取n-1个。fgets在读取了n-1个字符、读到了'\n'或遇到了EOF三种情况之一时都结束读取。

验证代码如下:

#include <stdio.h>
#include <string.h>
#define MAXLENGTH 101
int main(){

char str[MAXLENGTH];
fgets(str, MAXLENGTH, stdin);
int length = strlen(str);
int str_length = strlen(str);
int num = 0;
printf("%d\n",str_length);
printf("%s",str);

for (int i=0; i<= length; i++){
if (str[i] ==' '){
num++;
str_length--;
printf("num=%d\n",num);
}
if (str[i] == '\0'){
printf("0000,i=%d\n",i);
}
if (str[i] == '\n'){
printf("nnnn,i=%d\n",i);
}
}
num++;
printf("num = %d \n",num);
//printf("%2f",(float)(str_length)/num);

return 0;
}

结果:

最新文章

  1. 中国CIO最关心的八大问题(下)
  2. 关于python数据序列化的那些坑
  3. 201453408刘昊阳 《Java程序设计》第5周学习总结
  4. 获取乌云补天指定关键字的漏洞并输出URL和标题
  5. 让Dreamweaver支持less
  6. 递归,动态规划,找最短路径,Help Jimmy
  7. N个元素组成二叉树的种类
  8. Android Studio安装及主题字体配置
  9. 【JS】Intermediate3:AJAX
  10. ios开发学习笔记(1)
  11. FJUT第四周寒假作业之第一集,临时特工?(深度优先搜索)
  12. Cocoa中层(layer)坐标系的极简理解
  13. Spring boot整合Mybatis
  14. 寒假作业 pta编程总结3
  15. python基础①
  16. map reduce 用法 str处理lower() capitalize()
  17. blktrace 深度了解linux系统的IO运作
  18. Hibernate初学
  19. Sum Problem
  20. 0 1 1 2 3 5 8 13 21 34 求第N个, 用js实现

热门文章

  1. .net断点续传
  2. Pocsuite3--编写破壳CVE-2014-6271_Shellshock的POC
  3. leetcode 将一个二维矩阵进行90度旋转
  4. SAP HANA2可视化客户端工具
  5. Shell中特殊字符的含义
  6. Windows下遍历所有GIT目录更新项目脚本
  7. Fabric1.4 背书策略 .yam文件
  8. VS开发】C中调用C++文件中定义的function函数
  9. 冲刺Noip2017模拟赛7 解题报告——五十岚芒果酱
  10. linux安装mysql(yum)