一、视频笔记
二、代码列表
三、问题
1、EOF是什么?怎么用?
C语言中,EOF常被作为文件结束的标志。还有很多文件处理函数处错误后的返回值也是EOF,因此常被用来判断调用一个函数是否成功。在C语言中,或更精确地说成C标准函数库中表示文件结束符(end of file)。在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件,必须是文本文件。在文本文件中,数据都是以字符的ASCII代码值的形式存放。ASCII代码值的范围是0~127,不可能出现-1,因此可以用EOF作为文件结束标志。
2、char *a[]与char a[][10]有什么区别?
char *a[10] 表示一个数组,相当于 (char *) a [10],表示为a是一个数组,大小为10,这个数组的类型是 char *的,即这个数组的类型是指针。
char a[][10] 表示一个指针,相当于 char (* a) [10],表示为这个指针指向了一个数组,被指向的这个数组的类型是char型的,大小为10。
3、C99是什么?
是C语言官方标准第二版。
PTA:
4、
我认为是错的,感觉前者有空格,而后者没有空格,所以不相等。
5、字符数组与字符指针有什么区别?
答:字符数组定义的字符串在数据区,而字符指针定义的字符串在代码区。代码区:整个运行过程不可改变。数据区:高地址,可改变。
例:char s2[]="array"; s2[0]='A'; printf("s2:%s ",s2); 运行结果:s2:Array
char *sp="array"; sp="Array"; 改变指针的指向才可以。
sp指向的字符不可改变,而sa中的字符可改变。
sp可指向别的字符串,sa是数组首元素地址,是常量,无法指向指针。
6、字符串常量:实质是一个指向该字符串首字符的指针常量。
7、scanf()与gets()有什么区别?printf()和puts()呢?
答:scanf()遇回车或空格输入结束,并自动将输入的数据和字符串结束符‘