getchar() 和 putchar() 还有就是#define 定义常量, 通常大写以区分变量, while, for 循环和 if 语句
1.9节的程序, 怎么核对都没有问题, 但就是编译报错, 啥错刚开始也不是很仔细查看, 后来回家了, 又打开来反复看, 才发现是函数名称重复, 引起的冲突, 只要把getline重命名就可以了, 比如getsline, 网上也有同仁发这个错误, 但没有找到原因的说明, 解决了总算, 开心。
/* 将一行读入到s中并返回其长度 */ int getsline(char s[], int lim) { int c, i; for (i = 0; i < lim - 1 && (c = getchar()) != EOF && c != '\n'; ++i) { s[i] = c; /* 至多复制 MAXLINE - 1 个字符就结束本次读(从索引0到MAXLINE-2) */ } if (c == '\n') /* 如果因为i = lim -1 退出, 就不能碰到了 \n 因为短路了 */ { s[i] = c; /* 所以能进到这里, 说明读入的字符少于MAXLINE-1个 */ ++i; /* 最后情况有2种,一种是有换行符的, 一种没有, 最后都要加上结束位 */ } s[i] = '\0'; /* 最后一位结束位, */ return i; }
这个1.9节的函数名不仅冲突, 理解起来有点费劲, 加上注释应该就好些了 :-) lim参数值等于MAXLINE
今天发现, 使用vscode + Linux系统(vmware虚拟机), 使用SSH连接, 真的是好搭档, 编辑代码调试都好方便, Linux安装在虚拟机上, 网上教程不要太多, 再安装gcc编译器;vscode安装好后,
安装chinese语言包, Remote SSH插件,连接到Linux系统, 就可以写.c代码了, 然后再运行, vscode会贴心的提示安装c/c++调试插件,然后整个就跟其它的IDE差不多使用, 偶然所得, 真的好用
至于网上搜得的那些编辑.json啥的, 真的麻烦, 还不知道是啥用的, 也对微软印象加分, 毕竟vscode出自他家的。赞啦!
最后一名话出自这本书: 学习一门新程序设计语言的惟一途径就是使用它编写程序。本来看到练习就不想做, 看来我错了,
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
2023/6/9 晚上21点, 果然还是太枯燥, 看不下去, 放弃暂时
标签:语言,vscode,lim,2rd,int,Linux,程序设计,MAXLINE,安装 From: https://www.cnblogs.com/captionAmazing/p/17440579.html