1.2
getchar和getc是标准C库中的函数,而getche和getch不是标准的,为了能够使代码更加通用,要尽量使用标准库函数,getchar和getc原型如下
int getchar(void)
int getc(FILE *stream)
getchar相当于getc(stdin),从标准输入读取字符。
getche:从键盘接收一个字符,并且显示在屏幕上,不用按Enter,只要油按键按下,就自动返回按下的字符并且在屏幕上显示
getch:与getche功能类似,但是不在屏幕上显示输入的字符
从标准输入或者文件读取行数据的时候,逐字符的读取,并且检测回车符'\n',可以避免长度的限制。
在已经告知每行最长多少字符后,可以用gets的方法从标准输入读取行,遇到换行符或者EOF文件结束的时候返回,因此可以用来读取行数据到字符串中。
2.1
注意C语言中注释的解释规则,出现第一个“/*”后,继续往后查找,直到找到一个“*/”为止,那么下面的程序显然就是不合法的,因为最后的“*/”多余了,虽然整体上左和右注释是成对的
void squares(int limit)
{
/*Comment out this entire function
int i; /*loop counter*/
/*
**Print table of squares
*/
for(i=0;i<limit;i+=1)
printf("%d %d",i,i*i);
End of commented-out code*/
}
2.7.5
下面这条语句
int x/*This is a comment*/y;
在预处理的时候,会把注释替换为一个空格,那么这个定义就是非法的!!!
2.8.2
考虑问题一定要周全,输入一共是三种情况,左花括号,右花括号和其他字符,左花括号和右花括号都要用if判断,不能只判断一个!!!