MST

星途 面试题库

面试题:C语言数组与指针:常见错误分析

请分析以下C语言代码中关于数组与指针可能存在的错误,并说明原因。 ```c #include <stdio.h> int main() { int arr[5] = {1, 2, 3, 4, 5}; int *ptr = arr; ptr++; printf("%d", *ptr); return 0; } ```
33.2万 热度难度
编程语言C

知识考点

AI 面试

面试题答案

一键面试

这段代码基本正确,不存在数组与指针相关的错误。原因如下:

  1. 首先定义了一个包含5个元素的整型数组 arr 并初始化。
  2. 接着定义了一个整型指针 ptr 并使其指向数组 arr 的首地址,这是合法的,因为数组名在表达式中会自动转换为指向其首元素的指针。
  3. 然后 ptr++ 将指针 ptr 移动到数组 arr 的下一个元素位置,这也是合理的操作。
  4. 最后通过 printf 输出 *ptr,即 arr 数组第二个元素的值2 。所以代码在数组与指针的使用上是正确的。