我正在尝试使用 Xcode 进行一些 C 语言练习,但遇到一些错误。
代码如下:
#include <stdio.h>
#include <stdlib.h>
/* move previous elements down until insertion point reached */
void shift_element (unsigned int i ) {
int ivalue;
// guard against going outside array
for (ivalue = arr[i]; i && arr[i-1] > ivalue; i--) {
arr[i] =arr[i-1]; // move element down
arr[i] = ivalue; // insert element
}
}
int main(int argc, const char * argv[]) {
unsigned int arr[5] = {2,4,5,3,6};
shift_element(3);
// print arr
int i;
for (i=0;i < (sizeof (arr) /sizeof (arr[0]));i++) {
printf("%d\n",arr[i]);
}
return 0;
}
但它会导致错误“使用未声明的标识符‘arr’”
我搜索了之前具有相同主题的问题,但找不到可以解决我的问题的正确答案。
如果有人能提供帮助,我会很高兴。
干杯
最佳答案
arr 变量不在 shift 函数的范围内。您必须将其作为参数传递。
关于c - 使用未声明的标识符 'arr',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36522327/