C语言随笔(一)

来源:互联网 发布:js返回上一个页面 编辑:程序博客网 时间:2024/05/22 08:03

问题一: 

为什么ch被声明为整形,而我们事实上需要它来读取字符?

int    ch;

 while((ch=getchar())!=EOF && ch!='\n')

       ;

答案是:

EOF是一个整型值,它的位数比字符类型要多,把ch声明为整形可以防止从输入读取的字符

意外地被解释为EOF。但同时,这也意味着接收字符的ch必须足够大,足以容纳EOF ,这就是

ch使用使用整型值的原因。


问题二:

为什么下面函数中有的参数前要加上  const

    

void rearrange(char *output,char const *input,int n_columns,int const columns[])

答案:

因为数组参数是传递的一个指针,而不是一个数组的拷贝,也就是说

函数修改了形参数组的参数,它实际上将修改实参数组的对应元素。

加上  const   之后则表示参数不能被修改

原创粉丝点击