1ytks 发表于 2022-5-31 18:48:24

问题求助

invalid conversion from 'int*' to 'int' [-fpermissive]
关于这个错误“非常量引用的初始值必须为左值” 这句话该如何理解呢
以下是代码
#include "stdio.h"
main(){
        int a={4,1,2,3,4};
        int k;
        int *p1,*p2 ;
        p1=a;
        p2=a;
        k=p2;//我想知道为什么这一步是错误的是因为k没有赋初值吗?
        printf("%d,%d,%d",*p1,*p2,k);
}

风车呼呼呼 发表于 2022-5-31 18:54:55

p2是指针,怎么可能赋值给int型变量。如果是要将p2指针指向的int值赋给它,应该是 k=*p2;

傻眼貓咪 发表于 2022-5-31 21:14:08

// #include "stdio.h"
#include <stdio.h>

int main() { // <---------------------- 注意这里,int main()
    int a = {4, 1, 2, 3, 4};
    int k;
    int *p1, *p2;
    p1 = a;
    p2 = a;
    k = *p2; // <---------------------- 注意这里,k 是整型值,p2 是指针,必须 k = *p2
    printf("%d, %d, %d", *p1, *p2, k);
}

白龙羽 发表于 2022-6-8 00:08:51

https://fishc.com.cn/thread-128631-1-1.html
看看这个,使用代码段

AiXueXiDeDai 发表于 2022-6-10 06:23:58

因为类型不一样
页: [1]
查看完整版本: 问题求助