int a 函数的问题
- 为何要定义函数a
首先, 来看看这段程序是用来做什么的, 就是找出一行行文本中最长的那句并且打印出来
其次, 字符数组能做什么, 整型变量能做什么, 这个要搞清楚
先说整型变量, 在编程中, 凡是自己定义的东西都是变量, 常量是固定的数值
数组, 就是把相同的东西放到一个地方集合起来, 然后依次或者指定的赋予属性
数值数组是赋予数值, 如 int a[ 10 ], 说明有10个整型变量, 依次排列为 a[0], a[1]... a[9], [ ]中括号称为数组下标, 名称从 0 开始取, 此时这些整型变量只是有个名字, 它们还没有被赋值
字符数组是赋予字符, 如 char a[ 10 ], 说明有10个字符变量, 此时它们还没有被赋予字符, 只是依次有个字符名, a[ 0 ] ... a[ 9 ]
好, 整理了下概念, 重新思考为什么写这段程序要定义整型函数a, 且又为什么函数a中的两个参数是 字符变量 和 整型变量
要解释这个, 首先来看看为调用a函数而写的内容
要理解这段代码, 有几个地方需要思考
为何for循环条件中要写 lim-1
为何for循环条件中要写 c != '\n'
为何if不在for循环中也能用 c=getchar() 取c的字符
为何if的循环条件是 c=='\n'
for循环中的 s[ i ]=c, if中的 s[ i ]=c, 和外面的 s [ i ]='\0' 是怎么回事
s [ i ]='\0' 这一句所运作的结果是否作为 return i 所要返回的值
为何a函数的内容是一个 字符数组 和一个 整型变量
为何要限定最终长度为1000
为何 lim 1000 的值要减1
为何 for 条件中输入回车就不循环了
为何 if 不在 for 之中也能用 c=getchar() 取c的字符
为何把 if 放进 for 的花括号中会出错
for中的 s[i]=c 跟if中的 s[i]=c 和外面的 s[i]='\0' 是怎么回事
返回 i 是怎么回事
void copy 函数的问题
为何要定义 void copy 函数
为何要用 void 定义
为何函数中的内容是两个 字符数组
为何要使两个 字符数组 相等
为何循环条件是两个相等的数组不等于 '\0'
为何要一直循环加一