C编程;需要左值

标签 c pointers lvalue

<分区>

Possible Duplicate:
Lvalue required error

我的 C 程序有错误

main () {
    int arr[] = {1, 2, 3, 4};
    printf("%d", *arr);
    arr++;
    printf("%d", *arr);
}

当我编译这段代码时,我得到了需要左值的错误。对于 带有 arr++ 的行。 任何帮助!

最佳答案

arr 是一个常量,你不能改变它的值。您可以添加一个

int *p = arr;

然后做一个

p++;

关于C编程;需要左值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9469139/

相关文章:

c++ - 为什么将此代码编译为 C 和 C++ 代码会生成不同的程序集?

c - 内联汇编导致没有前缀的错误

c - Node pty.js 生成一个进程,该进程本身生成子进程,并且当 Node 被杀死时子进程不会死亡

c++ - 将指针转换为整数是否定义了指针的总顺序?

c - 多线程 - 使用线程执行将文件内容存储在 char **array 中的函数?

c - 我的链接器文件中的内存属性 'p' 是什么?

c - 使用 malloc 动态分配字符串

javascript - 数组是否作为 JavaScript ECMAScript 兼容中的左值?

c++ - 带有引用参数的模板结构构造器

c++ - 编写一个引用类型的函数作为左值来处理它的右值