选择题
1、函数strcmp从头至尾顺序地将其对应字符比较,遇到两个字符不等时,两个字符相减得到一个int型值,两个字符串完全相同时,则返回0。(正确)
2、如果strcmp(s1,s2)返回的结果为0,表示字符串s1和s2不相同。(错误)
解析:
字符串的比较规则是:将两个字符串自左向右逐个字符比较(按ASCII码值大小比较),直到出现不同的字符或遇到‘\0’为止。如果字符串1、2相同,则函数值为0。如果字符串1〉字符串2,则函数值为一个正整数。
如果字符串1〈字符串2,则函数值为一个负整数。
3、对于已正确定义的二维数组a, *(a[i]+j)与a[i][j]的含义相同。(正确)
解析:
a[i][j]表示i行第j列的值,**(a[i]+j)也表示第i行第j列的值,只是二者写法不同。
4、数组名就是一个指针常量,指向数组的首元素(或者说代表了数组的首地址)。(错误)
解析:
数组名是一个常量指针
(1)指针常量——指针类型的常量(int *const p) 本质上一个常量,指针用来说明常量的类型,表示该常量是一个指针类型的常量。在指针常量中,指针自身的值是一个常量,不可改变,始终指向同一个地址。在定义的同时必须初始化。
(2)常量指针——指向“常量”的指针(const int *p, int const *p) 常量指针本质上是一个指针,常量表示指针指向的内容,说明该指针指向一个“常量”。在常量指针中ÿ
错题记录
最新推荐文章于 2020-11-19 15:23:33 发布
这篇博客详细解析了C语言中字符串函数strcmp的工作原理和使用误区,以及数组的相关概念,包括数组名的含义、二维数组的表示及操作、数组的初始化规则。此外,还讨论了指针与数组的关系,如指针常量与常量指针的区别,并介绍了链表、文件操作等基础知识。
摘要由CSDN通过智能技术生成